vimが最初の行でファイルを開くようにする.vimrc設定はありますか?

vimが最初の行でファイルを開くようにする.vimrc設定はありますか?

私はvimが前回中断した部分ではなく、1行目でファイルを自動的に開くようにしたいと思います。私は.vimrcにggを入れようとしましたが、うまくいきませんでした。これを行う方法が必要です。

答え1

CentOS、RHEL、およびFedoraは、ファイルが/etc/vimrc見つかるたびにファイルの最後の表示に移動するautocmdを設定するシステム全体のvimrcファイルを提供します。

自動cmdがインストールされました。こんな感じ:

augroup redhat
autocmd!
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\   exe "normal! g'\"" |
\ endif

(最も大きな違いは、augroup名がFedoraでは「fedora」、RHELまたはCentOSでは「redhat」です。)

Vimがviminfoファイルにマーカーを保存しないように設定を変更すると、このルールを無効にすることができますが、'viminfo'これによりその情報が完全に保持されなくなり、状況によっては役に立つ不幸な副作用があります。

この動作を無効にするより直接的で正確な方法は、ルールを削除することです。これは、システム全体の構成後に取得したユーザーのvimrcファイルで実行できます。

次のコマンドを使用して、CentOS からルールを削除できます。

autocmd! redhat BufReadPost *

Fedoraから削除します。

autocmd! fedora BufReadPost *

これらのルールが存在しない限り(おそらくシステム全体のvimrcファイルで)何もしないため、これら2つのルールをvimrcファイルに安全に追加できます。

augroupは必要な他の無関係な自動コマンドもインストールするため、これらのコマンドはaugroupを完全に消去するのではなくaugroupから単一のルールを削除するため、特定のルールを1つだけ削除することをお勧めします。

答え2

私はこれが設定に関連していると思いますviminfo。からhelp viminfo

  1. vim情報ファイル

Vimを終了して再起動すると、通常多くの情報が失われます。 viminfoファイルを使用すると、この情報を覚えて中断した部分から続行できます。

viminfoファイルは、以下を保存するために使用されます。
- コマンドラインの記録。
- 検索文字列の履歴。
- 回線履歴を入力します。
- 空でないレジスタの内容。
- 複数のファイルを表示します。
- ファイルの場所を指すファイルタグ。
-最終検索/置換パターン(「n」と「&」の場合)。
- バッファリスト。
- グローバル変数。

この項目の可能な値は次のとおりですviminfo

"
" Tell vim to remember certain things when we exit
"   '20  :  marks will be remembered for up to 20 previously edited files
"   "100 :  will save up to 100 lines for each register
"   :20  :  up to 20 lines of command-line history will be remembered
"   %    :  saves and restores the buffer list
"   n... :  where to save the viminfo files
"
set viminfo='20,\"100,:20,%,n~/.viminfo

以下でviminfo設定を確認できます。

:set viminfo?

上記の例では、次のよう'#に更新できます。'0

set viminfo='0,\"100,:20,%,n~/.viminfo

関連情報