Vim Part31 (738レス)
前次1-
抽出解除 レス栞

89
(3): 2023/01/16(月)13:52 AAS
neovim 0.6.1です。
一つ目のターミナルでファイルをviewで開き、
もう一つのターミナルで同じファイルを編集可で開いて編集した後に
一つ目にカーソルを戻すと2つ目のターミナルで編集した情報が自動で反映されるのをオフにしたいです。

set noautoread
を入れたのですが、
W11 ファイルは編集開始後に変更されました
というワーニングが出てくるようになりました。
このワーニングを出ないようにするにはどうすれば良いですか?
91
(2): 2023/01/18(水)16:20 AAS
>>88,89
無条件で黙らせると知らぬ間にswapファイルが溜まりそうな予感が

viewとして呼んだならv:prognameやv:argvに'view…'みたいなのが入ってるはずだから
:if v:argv[0] =~ 'view\s'

:if v:errmsg =~ "^E11"
のようなアドホックなチェックがまず思い浮かぶ
行儀良くしたいならviewモードを示すフラグくらい存在するはずだし、1プロセスで複数のモードを使い回すならバッファローカル版(b:~)の方がベター

>>82
普段から対話的にvimを使ってるなら学習コスト0というシームレスさがいいね

シームレスさを追求した代償にvimscriptはexコマンドの拡張という"スクリプト言語として"は悍ましいモノが産まれたが
一方でexコマンドの拡張として見ると自然だったりする
:ifなど制御構造が閉じなくても良かったり、|で区切れたり奇妙に見える部分はシェルやsystem関数からコマンドとして呼びやすく、という配慮
-c ':g/pat/ :if 80 <= line("$") | :trimit'

:if, :while, :for, :letなど基本制御コマンドと、:silent, :redirなどi/o制御、自動で設定される変数類v:...だけ借りて、他は:normal/:executeで手に馴染んだ事だけをやる
normal/ex以外は修飾/特殊文字を引数へ埋め込むのが気持ち悪いが、少し欲しい時にはエスケープ構文(<Esc>、<C-Left>等)が重宝

vimscriptでプラグインなんて書き始めた奴らが諸悪の根源
94: 2023/01/18(水)19:23 AAS
>>89
>>91
view --servername #[デフォルト名view1]のようにエイリアス定義しておくとうっかり.swp増殖防止に役立つ

viewは役割上シンタックスを沢山読む/カスタムしていると編集用vimの設定と衝突しそう
個人的には分けた方が良いと思う

体感一秒足らずだけどラグいのが一つと
明示的な--servername NAME指定無しの --remote* excmd/key/fileは自身のargv[0]を見てNAME1..を探すこと
vimとして起動してviewモードに切り替えて使っているとプロセス名はvim1のようになる
デフォルト機能で済む処理だから手の空いてる汎用vimという意図で無指定のコマンドを送ると、先のvim1(viewモード)プロセスに誤爆する
たぶん
100: 89 2023/01/25(水)09:35 AAS
>>89です。レス遅くなりすみません。
皆さんご意見ありがとうございます。
どれも一長一短ありそうでなかなか根が深いですね。。

ひとまずいくつか試してみます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 1.181s*