Vi & Vim

テキストエディタのviおよびVimファミリを使用している人のためのQ&A

1
辞書から単語を削除
私は使用していgvimます: $ gvim --version VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 16 2017 06:36:51) MacOS X (unix) version Included patches: 1-329 Compiled by Homebrew 次のテキスト行を編集していました。 enable mouse scrolling, pane selection, pan reiszing and so on. 「reiszing」のスペルが間違っていることに気付いたので、次のコマンドを使用してスペルチェックをオンにしました。 setlocal spell spelllang=en_us 「reiszing」は期待どおりに強調表示されましたがzg、辞書に単語を追加するコマンドを誤って使用しました。私は手探りで/usr/share/dict/words調べたが、「再凍結」を見つけられなかった。 この単語を辞書から削除するにはどうすればよいですか。 単語がに格納されていない場合/usr/share/dict/words、それはどこにありますか? 私は読ま別の答えのコマンドこと set runtimepath? 以下を使用するパスを見つけるために使用できますvim。 ~/.vim …

1
キャンセル完了
通常、挿入モード補完(<C-n>)は、最初にを押したときに正しい単語を挿入します<C-n>が、常にそうではありません。したがって、Vimがを押したときに最適と見なされる一致を挿入<C-n>しますが、正しい一致が表示されないか、リストのかなり下にある場合は、後でこの挿入をキャンセルすることを許可します。 もちろん、この動作をコーディングすることもできますが、これを行うには標準のキー(組み合わせ)が必要だと感じています。誰かが私を正しい方向に向けることができますか? おまけの質問:(を押す前のように<C-n>)最長の一致を取得するために使用できる別のキーはありますか? それが価値があるもののために、私は使用しています completeopt=menu

3
カーソルから次の空の行まで視覚的に選択しますか?
現在の行から次の空の行をどのように選択しますか? SHIFT+ は認識しVていますが、次の空の行にジャンプするか、下矢印キーを何度も押す必要があります。aのような一致する文字がある場合、これをうまく行う方法を知っ}ていますが、空の行に対してこれを行う方法がわかりません。

1
セミコロンの代わりにコマンドにコロンを使用する利点は何ですか?
Viは、コマンドモードで指の移動と速度を最小限に抑えます。 スワッピング;や:文字検索のrepititions以上freqently使用されるコマンドのための余分なシフトキーストロークを大幅に節約するようだが、非標準のキーレイアウトを使用する欠点があります。 :コマンドの利点は何ですか?全体的にViの効率と優雅さに比べると、私には見逃しているロジックがあるはずだと感じています。



2
eslintを使用するとNeomakeがハングする
私が試してみて、設定するには、次の2つのチュートリアルを追っているeslintとNeomake: NeomakeとNeovimによるコードのリンティング NeovimとNeomakeによるコードのリンティング-ESLintエディション だから私は次の最小限のものを持っています init.vim call plug#begin('~/.vim/plugged') Plug 'neomake/neomake' call plug#end() autocmd! BufWritePost,BufEnter * Neomake let g:neomake_verbose=3 let g:neomake_open_list = 2 let g:neomake_javascript_enabled_makers = ['eslint'] " neomake nmap <Leader><Space>o :lopen<CR> " open location window nmap <Leader><Space>c :lclose<CR> " close location window nmap <Leader><Space>, :ll<CR> " go to current error/warning nmap …

3
vimにわずかな違いがある繰り返しのテキストを挿入する方法は?
このようなテキストを挿入したい: similar text wordA similar text ... similar text wordB similar text ... similar text wordC similar text ... テキストを何度も貼り付けてから、置換を使用して各行の1つの単語を変更できることはわかっていますが、この方法は依然として非常に不便です。 単語または単語リストを「変数」に保存し、この変数を使用して同様のテキストを生成する方法はありますか? 編集私は元の質問で何かを不明確にしました、実際私はいくつかの非常によく似た関数定義を作ろうとしているので、wordA wordB...はテキストの各クローンに何度も現れ、テキストには多くの行が含まれる場合があります。パターンは次のとおりです。 similar_text1 wordA similar_text2 wordA similar_text3 ... similar_text1 wordB similar_text2 wordB similar_text3 ... similar_text1 wordC similar_text2 wordC similar_text3 ... (テキストには改行が含まれている可能性があり、wordA、wordB ...は何度も存在する可能性があります) 2番目の編集 "similar_text"の部分は、そのような仕事をするたびに異なる可能性があるため、この仕事の解決策は再利用可能である方がよいでしょう。私は非常によく似た関数定義、または文字列から関数へのマッピングテーブルを作成しようとしているためです。 回答といくつかの練習を読んだ後、改行を含む可能性のある別々の「part1」、「part2」...「partN」を書くのは難しいので、この仕事をある種の置換と考える方が便利だと思います。まずテンプレート: similar_text1 $WORD similar_text2 $WORD …

3
マークを使用して、最近開いたが変更されていないファイルの場所にジャンプするにはどうすればよいですか?
多くの場合、私はファイルを編集します-私の仕事は終わったと思います-それからファイルを閉じて次の作業に進みます。しかし、そのコードに戻り、もう少し調整する必要があることに気付きました。 もう一度ファイルを開く.と、マークを使用して、で最後に編集した位置にジャンプできます'.。 現在、vimのマークを使用して、最近アクセスしたが変更されていないファイル内の場所にジャンプする方法を見つけようとしています。 手動でマークを設定できることはわかっていますが、ほとんどの場合、戻ってくることを期待していないため、マークを設定せず、vimが自動的に生成するマークを使用する必要があります。これはから、これを達成するための方法かもしれないようにマークが思えます。 ":h motion " 現在のバッファを最後に終了したときのカーソル位置。デフォルトは最初の行の最初の文字です。| last-position-jump |を参照してください 開いたファイルごとにこれを使用する方法について。各ウィンドウに1つではなく、バッファーごとに1つの位置のみが記憶されます。バッファがウィンドウに表示されている限り、位置は変更されません。{Viにはない}。 しかし私が バッファーを表示しているすべてのウィンドウを閉じます(ただし、バッファーはまだバッファーリストに存在しています)。または: バッファのすべてのインスタンスを殺す マークが更新されていないようですが、マークを使用してバッファ/ファイルの最後のカーソル位置にジャンプするにはどうすればよいですか?

3
変更した単語の次の出現箇所にジャンプ
次の場合: function foo(bar) { return bar + 1; } そしてcw、最初のbarをに変更するために使用していますbazが、次の一致にジャンプして、同じ変更を行うためにbar使用.するにはどうすればよいですか? カーソルの下に*ある現在の単語を検索するので、私は使用できません。また、愚かなことにbar、初めて検索しなかったため、機能しnません。 変更する前と同じように、次に出現する単語を検索する簡単な方法はありますか? 私はしていないいずれかの他の発生があるため、検索を行うと、交換したいbarの唯一の2つのインスタンスがあった、またはので、私は変更したくないというのが私のファイルではbar、と私は忘れてしまった:%s/bar/baz/私が開始する前に、それはあまりにもです残っている唯一のインスタンスを変更するための多大な努力。
11 search 

2
ファイルが変更されていないことを確認する方法
とにかくファイルを変更できないようにファイルがロックされていることを確認できますか?vimでファイルをロック/ロック解除するコマンドはありますか?ファイルを読み取り専用モードにしたい場合があります。
11 save 

1
':set confirm'にグラフィカルダイアログボックスを使用しないようにgvimを作成できますか?
Windowsでgvimを頻繁に使用しています。私は私の中に.vimrc: set confirm ただし、これにより小さなダイアログボックスが開くため、マウスを使用して終了する必要があります。コマンドラインvimでは、次のようになります。 :q Save changes to "Untitled"? [Y]es, (N)o, (C)ancel: とにかく、このように動作するようにgvimを構成できますか?
11 gvim 

4
Vim HardModeの細粒度の動き
最近、Vimのハードモードについて知り、それを試してみることにしました。しかし、細かい動きで問題が発生しています。 たとえば、本当に1行上または下に移動したいとします。以来jとk無効になっている、私はこのためにそこにあるものをより良い選択肢はよく分かりません。 1つまたは2つのキャラクターを右または左に移動したいときに、同じ問題に遭遇しました。誰かがこれらのタイプの動きをどのように置き換えるか知っていますか? これは私が使用しているプラ​​グインです:https : //github.com/wikitopian/hardmode。

2
vimscriptで記録しているかどうかを検出する方法はありますか?
のようなものはありますか eval("is_recording()") vimscriptで呼び出して、現在マクロを記録しているかどうかを確認できますか?私はこれがうまくいくと思ったでしょう: eval("mode(1)") しかし、それだけを返します"n"。 それが重要かどうかはわかりませんが、私はneovimを使用しているので、neovim専用の場合はそれで問題ありません。

1
カーソルが奇妙に見える原因は何ですか?[閉まっている]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前に閉店しました。 行の最後または最初にヒットするたびに、カーソルがあった場所にこの非常に奇妙な文字が表示されます。これを引き起こしている可能性のあるアイデアは何ですか?フォントとテーマが正しくインストールされていると思います。デフォルトのxfce端末でDebianを使用しています。
11 terminal  cursor 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.