3

私はUNIXを初めて使用します。ホームフォルダに.exrcファイルを作成しました。set nuと入力し、.exrcにaiを設定して確認しました。しかし、viエディターを開いているときはいつでも、これは機能しません。

さらに、suとpasswordを入力してスーパーユーザーとして入力し、viエディターで新しいファイルを開いたところ、動作しています。

これを行うには、スーパーユーザー権限が必要ですか?これについて私を助けてください。

4

2 に答える 2

5

これが私が起こっていると思うことです:

  1. viは、実際にはvim、の最新バージョンへのリンクまたはエイリアスですvi
  2. の代わりに存在する場合に読み取る.vimrcファイルがあります。vim.exrc
  3. スーパーユーザーとして、viはへのリンクではなく、vim無視し.vimrcて読み取ります.exrc

の出力を確認してください

$ which vi
$ ls -l `which vi`
$ ls ~/.vimrc

.vimrc解決策は、の代わりにを使用することです.exrc

于 2013-02-04T21:53:12.353 に答える
0

まず、が読みやすく、vi~/.exrcで実行して実際に機能することを確認します。:source $HOME/.exrc

より「従来の」vi(Vimではない)を使用している場合は、追加の権限の問題が原因である可能性があります。exに関するPOSIXドキュメントには次のように書かれています。

歴史的に、4つのBSD exおよびviは、他の考慮事項に関係なく、ユーザーの実際のIDによって所有されている場合、またはsourceanyオプションが設定されている場合、$HOMEファイルとローカル.exrcファイルを読み取ります。通常のUNIXシステムコマンドを.exrcファイル内に配置できるため、これはセキュリティ上の問題でした。POSIX.1-2017はsourceanyオプションを指定しておらず、過去の実装ではそれを削除することをお勧めします。

あなたがの所有者であることを確認してください~/.exrcchown <your-username> ~/.exrc

さらに、ex-vi( "Traditional vi")を使用している場合~/.exrcは、グループまたは世界で書き込み可能であってはなりません。これを確認するために実行chmod go-w ~/.exrcします。09/23/00リリースの変更ログからの参照:

  • POSIX.2:.exrcファイルがワールド書き込み可能またはグループ書き込み可能である場合、「sourceany」が設定されていない限り、それらは無視されます。
于 2021-03-10T16:19:37.460 に答える