私はUNIXを初めて使用します。ホームフォルダに.exrcファイルを作成しました。set nuと入力し、.exrcにaiを設定して確認しました。しかし、viエディターを開いているときはいつでも、これは機能しません。
さらに、suとpasswordを入力してスーパーユーザーとして入力し、viエディターで新しいファイルを開いたところ、動作しています。
これを行うには、スーパーユーザー権限が必要ですか?これについて私を助けてください。
これが私が起こっていると思うことです:
vi
は、実際にはvim
、の最新バージョンへのリンクまたはエイリアスですvi
。.vimrc
ファイルがあります。vim
.exrc
vi
はへのリンクではなく、vim
無視し.vimrc
て読み取ります.exrc
。の出力を確認してください
$ which vi
$ ls -l `which vi`
$ ls ~/.vimrc
.vimrc
解決策は、の代わりにを使用することです.exrc
。
まず、が読みやすく、vi~/.exrc
で実行して実際に機能することを確認します。:source $HOME/.exrc
より「従来の」vi(Vimではない)を使用している場合は、追加の権限の問題が原因である可能性があります。exに関するPOSIXドキュメントには次のように書かれています。
歴史的に、4つのBSD exおよびviは、他の考慮事項に関係なく、ユーザーの実際のIDによって所有されている場合、またはsourceanyオプションが設定されている場合、$HOMEファイルとローカル.exrcファイルを読み取ります。通常のUNIXシステムコマンドを.exrcファイル内に配置できるため、これはセキュリティ上の問題でした。POSIX.1-2017はsourceanyオプションを指定しておらず、過去の実装ではそれを削除することをお勧めします。
あなたがの所有者であることを確認してください~/.exrc
:chown <your-username> ~/.exrc
さらに、ex-vi( "Traditional vi")を使用している場合~/.exrc
は、グループまたは世界で書き込み可能であってはなりません。これを確認するために実行chmod go-w ~/.exrc
します。09/23/00リリースの変更ログからの参照:
- POSIX.2:.exrcファイルがワールド書き込み可能またはグループ書き込み可能である場合、「sourceany」が設定されていない限り、それらは無視されます。