2019年6月4日火曜日

common lisp (slimv)インストール手順 成功と失敗



= common lisp (slimv)インストール手順 成功と失敗
[2019-06-01 12:29]

参考サイト
Vimmerな人たちのためのCommonLisp環境構築(slimv)
https://qiita.com/kedama17/items/93ae7ccd1839f4bbb567

1. 引用
---------で囲まれた行は参考サイトからの引用です。


2. 目的 環境
参考サイトは、Ubuntu 16.04 64bitだが
ubuntu 12 32ビットよりCommonLispをvimよりつかえるようにする。
ubuntu18までバージョンアップしたが、18は32ビット向きではないらしい。
何度もやって疲れて12のまま。


以下上のサイトの方法でインストールしようとすると?
3. 以下手順
3.1 3.1 3.1 Gitのインストール
sudo apt-get install git
なんのためにインストール?
後のdeinをインストールするのに、git cloneコマンドをを使うため必要


3.2 isp処理系のインストール
-----------------
今回は処理系にSteel Bank Common Lispを使います。
これもGit同様普通にインストールします。
sudo apt-get install sbcl
-----------------


3.3 Pythonのインストール
参考サイトには以下のように書いてあるので、
私のパソコンは32ビットなので大丈夫?
-------------------
Ubuntuの場合は不要です。
Windows
ここから32bit版(大事!!!)のバージョン2.7.12rc1(大事!!!)をインストー
ルします。
※slimvは32bit版のpythonでないと動きません、バージョンは2.7.x系じゃな
いと確か動かなかったような。。。
-------------------


3.4 vimのインストール
-------------------
Linux
今回使用するプラグインのslimvですが、python2サポートのあるVimでないと
使えません。
sudo apt-get install vimでインストールできるVimは現在python2をサポート
していませんので、vim-nox-py2というパッケージをつかいます。
sudo apt-get install vim-nox-py2
       インストールは上でいいが実行は   vim.nox-py2 となり 「-」から「.」とかわる


2021/1/3追記
vimの補完機能の neocompleteをつかうなら +luaであるvim-nox-py2でないとダメ

-------------------
上のパッケージがないのでインストール不可?
インストールできた。2020/12/23 たまたま?


2020/12/23 取り消し
NeoBundleを使う
3.5 dein slimvのインストール
.vimrc にdein slimv のインストール設定を書いて :call dein#install()
でdein slimvがインストールされる。
slimvがあるとvimからlispが使える。
現在、deinはvim8.0以上でないとつかえない。


4. 現在のslimvの動作条件
以下slimvのサイトを機械翻訳
このスクリプトを実行するには、システムに次のプログラムがインストールさ
れている必要があります。
-----------------
* Python機能を有効にしたVim
* Python(Vimがコンパイルされたのと同じPythonバージョンでなければなりません)

VimのPythonのバージョンは:verコマンドで識別できます。(もしあれば)
-DDYNAMIC_PYTHON_DLL = \ "pythonXX \"という文字列を探してください。
VimのPythonのバージョンを決めるもう一つの方法:
:python import sys;print(sys.version)
-----------------


4.1 VimのPythonのバージョン確認の補足
KaoriYa
https://www.kaoriya.net/blog/2013/01/30/
上サイトから引用
----------------------
:py print(sys.version)
2.7.3 (default, ...
:py3 print(sys.version)
3.2.3 (default, ...
1つのVimからPython 2.7とPython 3.2(ちょっと古いですね)が使えることがわ
かります。
..........
どちらのPythonが利用可能かはhas()関数でわかります。
:echo has('python')
1
:echo has('python3')
1
となればあとは py でPython 3.xが利用されることがなければ、既存のプラグ
インは誤ったバージョンのPythonで実行されることは無さそうです。
----------------------


5. まとめ
5.1 Git sbcl のインストールは問題なし。
5.2 vim と dein slimv のからみが難しい。
 vim
python2のサポートのあるもの、かつ
deinのサイトと見ると deinをインストールしようとすればバージョン8.0以
上が必要

python 
上参考サイトによると、32ビット バージョン2.7.12 でないとだめらしいが
slimvのサイトを見ると
「 Python(Vimがコンパイルされたのと同じPythonバージョンでなければなり
ません」 であればいい?


6. 対策
1. vimのバージョンアップ
2. dein をつかわない。Vundleを使う。NeoBundleを使う
3. https://gist.github.com/otaon/9bb14bb9249a1e38e90b66c45eda391b
   の方法でしてみる


7.  マイパソコン調査
  python 2.7.3
  vim    7.3.429 :version で +python とでる
  dein インストール不可
 NeoBundle vim7.2以上で可


8. 以下 dein を使わずNeoBundleを使ってみる。
参考サイト
Vimのプラグイン管理 is なにがいい?
https://qiita.com/kumakuma/items/ddbb4fbe073873d90bba


以下上サイトの手順でやってみる。
8.1  NeoBundleインストール 設定
8.2 導入方法
配置先のディレクトリ作成
$ mkdir -p ~/.vim/bundle


8.2 NeoBundleを取得
$ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim


8.3 .vimrcに設定
set nocompatible
filetype plugin indent off

if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim
  call neobundle#rc(expand('~/.vim/bundle'))
endif
NeoBundleFetch 'Shougo/neobundle.vim'

" 入れたいプラグインを追加
"NeoBundle 'scrooloose/nerdtree'
"NeoBundle 'mattn/emmet-vim''
NeoBundle 'kovisoft/slimv'

filetype plugin indent on


8.4 上方法でやるとvim起動時エラーを起こす。


8.5 NeoBundleのサイトを調査
以下上サイトより引用
-----------
 1. Install NeoBundle
① If you are using Unix/Linux or Mac OS X.
Run below script.

$ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/m          aster/bin/install.sh > install.sh
$ sh ./install.sh

Complete.

② If you want to install manually or you are using Windows.
1. Setup NeoBundle:
$ mkdir ~/.vim/bundle
$ git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/              neobundl      e.vim
-----------
とあるから「Vimのプラグイン管理 is なにがいい?」の方法はまちがいでは
ないようだ。
vimrcの設定が参考サイトとNeoBundleサイトでは違うようだ。


8.6 NeoBundleサイトの .vimrcの設定でしてみる。
" Note: Skip initialization for vim-tiny or vim-small.
if 0 | endif

if &compatible
  set nocompatible               " Be iMproved
endif
" Required:
set runtimepath+=~/.vim/bundle/neobundle.vim/


" Required:
call neobundle#begin(expand('~/.vim/bundle/'))
" Let NeoBundle manage NeoBundle
" Required:
NeoBundleFetch 'Shougo/neobundle.vim'
" My Bundles here:
" Refer to |:NeoBundle-examples|.
" Note: You don't set neobundle setting in .gvimrc!
"ここに入れたいプラグインをかくのか?
NeoBundle 'kovisoft/slimvv'
call neobundle#end()


" Required:
filetype plugin indent on

" If there are uninstalled bundles found on startup,
" this will conveniently prompt you to install them.
NeoBundleCheck


8.3.1  他コマンド
プラグインをアップデート
:NeoBundleUpdate
プラグインを削除
:NeoBundleClean


8.4 プラグインをインストール
上の設定でvim起動時エラーがでないので
:NeoBundleInstall を実行


8.5 テスト
test.lisp を作成し ,cを叩く。 
SWANK server is not running とでる


9. なんでかな
参考サイト
slimv.vim導入
https://qiita.com/kedama17/items/86557e29283ac7a3ede4
----------
1. gvimを起動して:versionする。python/dynの記述があればOK。
----------
私のパソコンでは +pythonだけの表示。


10. dynとは
参考サイト
if_pyth - Vim日本語ドキュメント
https://vim-jp.org/vimdoc-ja/if_pyth.html
----------
9. 動的ローディング                                     python-dynamic

MS-Windows と UNIX では Python ライブラリを動的に読み込むことが可能で
す。これを行うと :version の出力に +python/dyn もしくは +python3/dyn
が含まれるようになります。

この場合、Vimは必要なときだけPythonのDLLファイル、もしくは共有ライブラ
リファイルを検索します。Pythonインターフェイスを使わないときはDLLを必
要としないので、DLLなしでVimを使うことができます。
................
................

Vim のビルドは 4 種類あります (:version の出力):
1. Python サポートなし      (-python, -python3)
2. Python 2 サポートのみ    (+python or +python/dyn, -python3)
3. Python 3 サポートのみ    (-python, +python3 or +python3/dyn)
4. Python 2 と 3 のサポート (+python/dyn, +python3/dyn)

----------
私のパソコンは、pythonインターフェイスがつかえない状態にあるらしい。
最初の参考サイトにある「サポート」とは、
「 gvimを起動して:versionする。+python/dynの記述」があるという事ですね
ね。以下のコマンドの結果とは別物ですね。
:echo has('python')
1
でも、ubuntu16では+pythonだけでslimvのサーバーが動いたが....


11. vimビルド
howm://2019\06/2019-06-03-080804.txt
で失敗する


11. どうする?

12. ubuntu16 32bitをインストールして再度挑戦
vim-nox-py2 をインストール
vimのバージョンは7.3でした。deinはバージョン的に無理なのでNeoBundle
をインストールして対応。
:version の結果は +python で +python/dyn とはなっていなかった。
:py print(sys.version) の結果は、2.7.11+

でも、vimでtest.lispを開いて ,c で実行された。評価された。


13. 前のubuntu12をやり直す
13.1 前のvim アンインストール
cd ~/.vim/scrooloose
sudo make uninstall
sudo make distclean
vim 7.3 +python のものに戻る
lisp サーバー動かず
原因不明

0 件のコメント:

コメントを投稿

About

参加ユーザー

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

ページ

Featured Posts