Vim

Vim 8.2 で Vim script に -> 演算子が追加された

Vim

Vim 8.2 で Vim script に -> 演算子が追加されました。 これは f(x, y) を x->f(y) という風に書くための演算子になります。 例えば echo map(filter(range(1, 10), { -> v:val % 2 == 0 }), { -> v:val * v:val }) というようなネストしている関数呼び出し…

Vim 8.2 で Vim script の辞書のキーの定義が簡略化できるようになった

Vim

Vim script で辞書を定義する場合、次のようにキーを文字列リテラルで定義していました。 let dict = { "one" : 1, "two" : 2, "three" : 3 } echo dict " => {'one': 1, 'two': 2, 'three': 3} Vim 8.2 では上記のような定義を以下のように定義する事ができ…

Vim 8.2 で Vim script に :const が追加された

Vim

Vim 8.2 で Vim script に :const が追加されました。 これは変数を定義する :let と同じように使用し、定義した変数を不変にします。 例えば const x = 42 は let x = 42 lockvar 1 x と同等になります( lockvar の 1 は depth の指定 これにより const を…

Vim 8.2 で Vim script にヒアドキュメントが追加された

Vim

Vim 8.2 で Vim script でヒアドキュメントがかけるになりました。 使い方は以下の通り " END ~ END の間のテキストを行ごとのリストとして返す let s:text =<< END if cond echo "homu" endif END echo s:text " => [' if cond', ' echo "homu"', ' endif']…

deoplete.nvim をいれてみた

Vim

完全に食わず嫌いっていうか現状の neocomplete.vim で満足していたんですが、稀によく補完が重すぎてアイエエエエエとなることがあるので、重い腰を上げて deoplete.nvim を入れてみました。 導入 NeoBundle "Shougo/deoplete.nvim" NeoBundle "roxma/nvim-yarp" N…

Vim 8.1 がリリース!!

Vim

朝起きたら Vim 8.1 がリリースされていました。 Vim 8.0 のリリースが 2016/09/12 なので約1年8ヶ月ぶりとなるリリースです。 大きな追加点としてはやはり :terminal が実装されたことですかね。 わたしは :terminal はクソだと思っているんですが、リリー…

Vim script でいい感じにデバッグ出力する

Vim

Vim script でデバッグ出力を行いたい場合、以下のようなスクリプトを定義しておくことで『変数名:値』みたいな出力をすることが出来ます。 command! -nargs=* \ Debug \ try \| echom <q-args> ":" string(<args>) \| catch \| echom <q-args> \| endtry 使い方 let hoge = 42 " </q-args></args></q-args>…

【一人 vimrc advent calendar 2017】vimrc を拡張するコツ【25日目】

Vim

一人 vimrc advent calendar 2017 25日目の記事になります。 今日で終わりっ!! と、言うことで vimrc を拡張するコツみたいなものを。 vimrc を設定する目的 vimrc を書こう!って言っても最初はどういう風に書けばいいのかわからないと思います。 Vim は…

【一人 vimrc advent calendar 2017】キーマッピングの注意点とか【24日目】

Vim

一人 vimrc advent calendar 2017 24日目の記事になります。 今日はクリスマスイヴですね。 ケーキを買いに行ったら売り切れていましたかなしい。 モードごとのキーマッピング さて、気を取り直して…。 Vim はモードごとに操作が分けられているのはご存知だ…

【一人 vimrc advent calendar 2017】gvimrc について【23日目】

Vim

一人 vimrc advent calendar 2017 23日目の記事になります。 そういえば、gvimrc について書いてなかったので簡単に書いてみようかと。 GUI 版 Vim GUI 版の Vim を起動するには環境にもよりますが gvim コマンドを使って起動させる事が出来ます。 これによ…

【一人 vimrc advent calendar 2017】タブページを操作するキーマッピングいろいろ【22日目】

Vim

一人 vimrc advent calendar 2017 22日目の記事になります。 もうすぐ Advent Calendar も終わりですね…。 タブページを操作するキーマッピングいろいろ さて、わたしは基本的にタブページごとにファイルを開いているのですが、そのタブページを扱うキーマッ…

【一人 vimrc advent calendar 2017】コマンドを実行した際にカーソル位置を移動させないスクリプト【21日目】

Vim

一人 vimrc advent calendar 2017 21日目の記事になります。 そろそろネタが枯渇してきているのですが、今日 vimrc から便利そうなスクリプトを発掘したのでそれの初回でも。 カーソル位置などを移動させないでコマンドを実行するスクリプト 元々、他の方の …

【一人 vimrc advent calendar 2017】autocmd FileType 時に設定を追加する場合の注意点【20日目】

Vim

一人 vimrc advent calendar 2017 20日目の記事になります。 前回filetype の設定に関する記事を書いたのですが、今回はそれに関係するお話。 autocmd FileType 等で設定するときの注意点 autocmd FileType などで『任意の filetype に対して』設定を行う際…

【一人 vimrc advent calendar 2017】Vim から git commit する【19日目】

Vim

一人 vimrc advent calendar 2017 19日目の記事になります。 そろそろネタが尽きてきてそう。 Vim から git commit する さて、Vim を使っているとその場でファイルを編集して、そのままファイルをコミットしたいと思うことが多いと思います。 そういう時に…

【一人 vimrc advent calendar 2017】現在の filetype に対して簡単に設定を追記する【18日目】

Vim

一人 vimrc advent calendar 2017 18日目の記事になります。 filetype に対する設定 さて、vimrc で任意の filetype に対して設定を行う場合、以下のように autocmd を使用することが多いです。 " filetype=cpp に対する設定 autocmd Filetype cpp setlocal …

【一人 vimrc advent calendar 2017】:set でオプションの値を設定する方法いろいろ【17日目】

Vim

一人 vimrc advent calendar 2017 17日目の記事になります。 今回は :set にまつわるお話。 :set でオプションの値を設定する方法いろいろ さて、通常 Vim のオプションは :set コマンドを使用して任意のオプションに対して設定を行います。 " オプションに…

【一人 vimrc advent calendar 2017】vimrc で set nocompatible を行うケース【16日目】

Vim

一人 vimrc advent calendar 2017 16日目の記事になります。 ちょっと遅れてしまいすみません…。 さて、以前『vimrc で set nocompatible を行う必要はない』と書きました。 しかし、set nocompatible するべきケースがあったのでちょっと紹介してみます。 V…

【一人 vimrc advent calendar 2017】ノーマルモードで編集するキーマッピングいろいろ【15日目】

Vim

一人 vimrc advent calendar 2017 15日目の記事になります。 今回はノーマルモードでよく使っているバッファを編集するキーマッピングの紹介を。 キーマッピング " スペースを挿入 nnoremap <C-Space> i<Space><Esc><Right> " カーソル位置の上に改行を挿入 " カーソル位置のテキストを下</right></esc></space></c-space>…

【一人 vimrc advent calendar 2017】:set と :setlocal の違い【14日目】

Vim

一人 vimrc advent calendar 2017 14日目の記事になります。 :set と :setlocal の違い :set も :setlocal も Vim のオプションを設定するためのコマンドです。 :set はグローバルなオプションを設定するのに対して、 :setlocal はカレントバッファ/ウィンド…

【一人 vimrc advent calendar 2017】カーソル下の英数字を加減する【13日目】

Vim

一人 vimrc advent calendar 2017 13日目の記事になります 体調不良により公開が遅れてしまってすみません カーソル下の英数字を増減する さて、Vim では <C-a> でカーソル下の数値を増やしたり、<C-x> でカーソル下の数値を減らしたりする事ができます。 また、'nrfor</c-x></c-a>…

【一人 vimrc advent calendar 2017】現在のファイル名を変更する【12日目】

Vim

一人 vimrc advent calendar 2017 12日目の記事になります。 今回は個人的に使う機会が多い簡単な Ex コマンドの紹介でも。 現在開いているファイル名を変更する さて、Vim を使っていると『現在開いているファイル名を変更したい』ということが稀によくある…

【一人 vimrc advent calendar 2017】filetype 名を簡略化する【11日目】

Vim

一人 vimrc advent calendar 2017 11日目の記事になります。 今回は頻繁に手入力するコマンドを簡略化するというお話です。 Vim で filetype を設定する Vim で雑なコードを書く場合に無名バッファを使うことがあります。 そういう場合は新しいバッファを開…

【一人 vimrc advent calendar 2017】タブ文字を視覚化する【10日目】

Vim

追記 set list は既定値が off なので一緒に書いてあってもいいんじゃないかな〜と思った【一人 vimrc advent calendar 2017】タブ文字を視覚化する【10日目】 https://t.co/41efnJ5nz7— ryunix (@ryunix) 2017年12月10日 全く持ってそのとおりなので追記し…

【一人 vimrc advent calendar 2017】第7回 学生エンジニア限定LT大会!!!で Vim を布教してきた【9日目】

一人 vimrc advent calendar 2017 9日目の記事になります。 学生ではないんですが、学生エンジニア限定LT大会で発表してきました。 と、いうか前日まで行くかどうするか悩みまくって申し訳ない Vim の布教 https://osyo-manga.github.io/slide-gakusei_LT-vi…

【一人 vimrc advent calendar 2017】markdown 内のコードをハイライトする【8日目】

Vim

一人 vimrc advent calendar 2017 8日目の記事になります。 今回のネタは前から設定は知っていたけど放置してて、いざ設定してみたらめちゃくちゃ便利だたというやつです。 markdown 内のコードをハイライトする さて、markdown では以下のようにコードを記…

【一人 vimrc advent calendar 2017】ディレクトリをオプションに設定した場合にディレクトリも生成する【7日目】

Vim

一人 vimrc advent calendar 2017 7日目の記事になります。 'backupdir' や 'undodir' などでディレクトリを設定する場合の注意 さて、、Vim では 'backupdir' や 'undodir' などディレクトリを設定するオプションがいくつかあります。 "バックアップファイ…

【一人 vimrc advent calendar 2017】vimrc で起動時にのみ実行するスクリプトを記述する【6日目】

Vim

一人 vimrc advent calendar 2017 6日目の記事になります。 vimrc で環境変数などに追記する設定を記述する さて、以前『vimrc で安全に autocmd を設定する』記事でも書いたのですが、vimrc は再読込される可能性を考慮する必要があると書きました。 同様に…

【一人 vimrc advent calendar 2017】Windows ライクなキーマッピングを使う【5日目】

Vim

一人 vimrc advent calendar 2017 5日目の記事になります。 今回は Windows ライクなキーマッピングのお話。 Vim でも Windows ライクなキーマッピングを行いたい さてさて、Windows ユーザが Vim を使うとお馴染みの Ctrl + x:切り取り Ctrl + c:コピー C…

【一人 vimrc Advent Calendar 2017】vimrc から別のスクリプトファイルを読み込む【4日目】

Vim

一人 vimrc Advent Calendar 2017 4日目の記事になります。 今回は vimrc から別のスクリプトファイルを安全に読み込みます。 任意のスクリプトファイルを読み込む さて、vimrc が少し大きくなってくると プラグイン キーマッピング コマンド filetype みた…

【一人 vimrc Advent Calendar 2017】vimrc で安全に autocmd を設定する【3日目】

Vim

一人 vimrc Advent Calendar 2017 3日目の記事になります。 今回は autocmd について書きます。 autocmd とは autocmd とは『任意のタイミング』に処理をフックするための機能です。 例えば、 『バッファに入る度にバッファ名をフルパスで表示する』 みたい…