2016-04-24 9 views
3

私は最近、vimでグローバルマークの使用を発見しました。彼らは非常に強力な機能のようですが、vimが終了すると削除されます。 vimの起動時にvimのグローバルマークを定義する方法はありますか(例えば.vimrcファイルで定義するなど)?永続的なvimグローバルマーク

答えて

4

通常が含まれている、グローバルマークは終了時にviminfoファイルに保存されます。それはviminfoオプションによって支配されます。それが空なら、あなたは.vimrcで共通の値を設定することができます

:set viminfo? 
  • set viminfo='100,<50,s10,h 
    

    その後、世界的なマークが出る上に保存する必要がありますが、このようにその値を確認することができます。

  • 空でない場合は、f0パラメータを削除する必要があります(グローバルマークの保存が無効になるため)。

自動保存は、通常、最善の解決策と思われるが、あなたがしたい場合、また、あなたのvimrcでグローバルなマークを設定することができます実際に

function! SetGMark(mark, filename, line_nr) 
    let l:mybuf = bufnr(a:filename, 1) 
    call setpos("'".a:mark, [l:mybuf, a:line_nr, 1, 0]) 
endf 

call SetGMark('A', '~/file.txt', 10) 
+0

。私は.vimrcファイルのviminfo変数を使い果たしました – bergercookie

3

あなたはあなたの一般的な詳細を与えるviminfo

:help viminfoを検討する必要がある、と:help 'viminfo'は、設定が必要なオプションをご紹介します。 (引用符は、この文脈において重要である)

If you exit Vim and later start it again, you would normally lose a lot of 
information. The viminfo file can be used to remember that information,  which 
enables you to continue where you left off. 

This is introduced in section 21.3 of the user manual. 

The viminfo file is used to store: 
- The command line history. 
- The search string history. 
- The input-line history. 
- Contents of non-empty registers. 
- Marks for several files. 
- File marks, pointing to locations in files. 
- Last search/substitute pattern (for 'n' and '&'). 
- The buffer list. 
- Global variables. 

Essentialyは、はviminfoはセッション間でファイルマークを保存無効にするf0が含まれていないことを確認してください。

私はviminfo設定が

:set viminfo='100,<50,s10,h,%