私の.vimrcファイルでは、外部コマンドの結果を変数に保存したいと思います。私の場合は: $ echo $LANG 私のvimrcファイルは次のようになります: let language = output(!echo $LANG) if language == 'en' nnoremap <somekey> <ohanotherkey!> end if 今のところ、私はそれを行う方法を見つけることができませんでした。コマンドモードで:read !echo $LANGは、探しているコンテンツが現在のファイルに挿入されることがわかりました。しかし、vimrcファイルに書き留める方法がわかりません。
私はbashスクリプトにvimを使用しています。問題は、新しいファイルを作成し、実行可能にし、実行してから削除したくないことです。1回だけ使用されるスクリプトを意味します。 たとえば、vimを開いて次のように入力します。 #!/bin/bash ll | while read line do echo $line done このファイルは保存せず、bashスクリプトを単純化するためにvimを使用しています。!vim 経由でbashコマンドを実行できることを知っています。しかし、バッファ内にあるすべてを実行するのはどうでしょうか?
ファイルなしでVimを起動すると、常に次のように表示されます。 VIM - Vi IMproved version 7.4.580 by Bram Moolenaar et al. Vim is open source and freely distributable Become a registered Vim user! type :help register<Enter> for information type :q<Enter> to exit type :help<Enter> or <F1> for on-line help type :help version7<Enter> for version info これを変更するにはどうすればよいですか? 具体的には、fortuneここにシェルコマンド()の出力を配置します。 vim-startifyについて知っています。しかし、私はそれらのすべての機能を必要としません。単純なテキストを表示したいだけです...
ヘルプから:help backtick-expansion: On Unix and a few other systems you can also use backticks for the file name argument, for example: :next `find . -name ver\\*.c -print` :view `ls -t *.patch \| head -n1` The backslashes before the star are required to prevent the shell from expanding "ver*.c" prior to …
ファイルに次のようにXXXX選択したプレースホルダーを含む行があると仮定vします。 XXXX Some other text どうすれば変更できるだけXXXXのような、外部コマンドの出力でdate +%Y%m%d? 私は限りを得ました :'<,'>!date +\%Y\%m\%d しかし、それは行全体を置き換えました。