-
Notifications
You must be signed in to change notification settings - Fork 0
vim Setup
vimはそれぞれの用途と好みに合わせてカストマイズして使うことが大前提のエディタ
ただ、そのカストマイズについて構造的に解説してくれているドキュメントが殆どないのが、初心者にとって辛い
単にTIPSの集積となってしまっていて、どうアプローチし、どの部分をどのやり方でカストマイズすべきなのか、構造的に説明した文章が無いので、モヤモヤした状態のままに妥協して使っている感じになっている
- カストマイズは.vimrcで行う
- vimエディター自体の画面の設定、option設定を「:set」記述で行う
- エディターのキーアサインの変更、設定を「nnormap」「onormap」記述で行う
- 表示職の設定、カーソルの色設定などを記述
- plugin管理ツールの設定をし、.vimrcファイルに読み込むべきpluginの設定を記述
- 開発者として必要なLanguageServer、及びそのclientの設定を記述
- 開発をサポートするpluginのカストマイズ設定の追加
-
https://qiita.com/evistream/items/fbda12bbc1742dcb3bdb
- apple-scriptとして設定し、アイコンも設定(アイコンは画像自体を開いてコピー&情報を表示でアイコンを選択して貼り付け)
on run{input}
if input is {} then
set cmd to "vim"
else
set the_path to POSIX path of input
set cmd to "vim " & quoted form of the_path
end if
tell application "iTerm"
activate
create window with profile "Vim Launcher Profile" command cmd
end tell
end run
- この設定でvimを起動する場合、govimなどのように起動時に非同期でディレクトリを走査するようなPluginが設定されていると、なぜか非同期に実行されるのではなくて、起動時の初期化が終了するまで、待たされることがわかった。
- 普通にiTermを起動して、その中から実行するときには問題ないのだが。。。
https://www.vim.org/
sourceから最新版をmake , sudo make installで入れる
詳細はREADMEdoc/* src/INSTALL を参照のこと
cui版でありながら、普通にマウスも使える。gvimはいらないかもしれない。
macでcompileする際には make, make test, sudo make installで入れるが、make testでエラーが出るかもしれない
glibtool: command not found
glibtoolはhomebrewを使っていれるのが楽だ。vimのINSTALL.macにstack-overflowで検索しろ、と書いてあるのは笑った
glibtool is "GNU Libtool". It is typically installed as libtool on most systems,
but because macOS has its own libtool that has completely different functionality,
it is usually installed as glibtool on macOS.
If you can't directly use homebrew to install it,
you can duplicate the steps in its recipe,
which you can find here: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libtool.rb
For the sake of keeping this answer "working" even if homebrew goes away,
the homepage for libtool is https://www.gnu.org/software/libtool/
and you can follow the instructions there for information on how to build and install it.
brew install libtool
vim ver.8からは標準のplugin機能が、実装されたものの、多くのプラグインがこれを使うので、入れる
https://www.vim.org/scripts/script.php?script_id=2555 一部の設定は上書きする
vimのlangage server client
https://github.com/prabirshrestha/vim-lsp
vimのgolang langage server
GO111MODULE=on go get golang.org/x/tools/gopls@latest
https://github.com/golang/tools/blob/master/gopls/README.md
- goplsにはPATHを通していないと起動できないので、shellの設定に入れる
vimのlanguage server clientを使ってgolangをハンドリングするplugin
https://github.com/govim/govim
:cw でエラー内容などがcondole windowに表示される。エラーが解消すると、メッセージは消える。
オムニ補完を起動するにはc-x,c-oを打鍵する必要がある。
オムニ補完モードに入ると、自動的にトップにウインドウが開くが、これをしない方法はないのか?
言語ごとに、その言語をハンドリングするpluginと、言語ごとのlanguage serverが必要になる
プログラムソースを編集開始する前には、今回のソースのlanguage serverに着替えてから編集を開始する(当然か?)
https://github.com/derekparker/delve
go getでintallbr>
xcodeのコマンドラインは、すでにx-codeをインストール済みのため、すでにインストールされているとエラーになる
https://github.com/sebdah/vim-delve
https://note.com/miyazi777/n/nb2f520f91ed6
vim側でmouseを使えるようにしてしまうと、vim上では、iTerm2のselection -> clippboardとかの制御が、きかなくなる
mac上では下に書いたclipboard設定をすることで、yancからc+vでブラウザの画面などに貼り付けられる
入力ソース設定onVim
- ESCをおしたら日本語入力を切る
この設定は.vimrcではなく、Google日本語入力の設定でおこなう
「キー設定の選択」の「カスタム」ボタンを押し、リストの最後に設定を追加する。
設定内容は「入力文字なし」「Escape」「キャンセル後IMEを無効化」
ただし、「Ctrl + [」でのエスケープは動作しない。また、キー設定で「Ctrl + [」を入れようとするとEscapeになってしまうので設定できない
と思ったら、HappyHackingだとキー設定できるみたいだ。。でも実際に設定しても、動作してないっぽい。。
この設定をすると、タスクバーの表示が日本語のまま、入力は英数になったりする。表示の制御がちゃんとできていない - 日本語をONにしたらinsert modeにする: これはまだ手段が見つかっていない
- https://www.soum.co.jp/misc/vim-no-susume/12/
:set clipboard=unnamed
で、pがシステムのクリップボードから貼り付ける形に設定変更した
yはシステムのクリップボードにyancするようになる
- cursorの画面移動 左画面へ:<C-w>h 同様に j, k, l
- 画面自体を移動する 縦分割して左に:<C-w>H 同様に J, K, L