2

現在開いているファイルF2を更新 ( ) するキーをマップしました。:editファイルが外部で更新されたときに画面を更新するためにログファイルを見るときにこれを使用しています(ログファイルの最後に改行が追加されます)。

nnoremap <silent> <F2> :edit<CR>

ファイルが更新された後、ファイルの最後にジャンプしたいと思います。

:edit同時にファイルの最後にジャンプするキー マッピング (ショートカット)を作成するにはどうすればよいGですか?

4

5 に答える 5

5

開いた (または再度開いた) ファイルにカーソルを配置する慣用的な方法+は、コマンドの - 引数を使用することです:edit(「 」を参照:help +cmd)。一般的な構文では任意のコマンドを実行できますが、その行のテキストに一致するパターン (+/その後にパターンが続く)、または行番号 (+その後に番号が続く) によって特定の行に移動する特殊なケースがあります。後者の形式で番号を省略すると、ファイルの最終行と見なされます。

そのような方法で、カーソルを最後の行に置いて現在のファイルをリロードするには、次のコマンドを使用できます。

:edit +$

また

:edit + %

-argumentの前にオプションのスペースを使用する:e代わりに省略して、これらのコマンドを短縮することができます。:edit+

:e+$

また

:e+ %

対応するマッピングは次の形式になります

:nnoremap <silent> <F2> :edit +$<CR>

:nnoremap <silent> <F2> :edit + %<CR>

この+-argument 構文は、コマンド ラインからファイルを開く場合にも有効であることに注意してください。

$ vim + filename

同様に動作します。

于 2011-11-02T05:09:51.677 に答える
4

これは私が使用するものです:

nnoremap <silent><F2> :edit<bar>$<CR>
于 2011-11-02T04:10:45.567 に答える
2

:normal通常モードのGモーションを使用するために使用できます。

:nnoremap <silent> <F2> :edit<CR>:norm! G<CR>

:$おそらく、次のコマンドを使用してファイルの最後に移動する方がよいでしょう。

:nnoremap <silent> <F2> :edit<CR>:$<CR>
于 2011-11-02T03:56:30.463 に答える
2

を使用して、マップ内でコマンドを連鎖させることができます<bar>。このマッピングは、あなたが望むことを行います:

:nnoremap <silent> <F2> :edit <bar> :normal! G<enter>

以前はユーザー定義のマッピングが考慮されないため、マッピング/スクリプトではnormal!なく使用することが重要です。normalこの場合のマッピングがあってもG、vimGはまったくマッピングされていないものとして扱います。

于 2011-11-02T03:57:30.173 に答える
0

Vim'|'では、Linux/Unix の多くのフレーバーと同様に、コマンドを分離するために使用できます。バーの使用に関する詳細については、チェックアウトしてください:help bar

例:

:edit | normal! G

これをキー マッピングで使用したい場合は、 やを~/.vimrc使用するマップが気に入らない場合があります。この作業を行うには、代わりに同等のものを使用してください。|\|<bar>

于 2011-11-02T04:03:25.387 に答える