タグ付けされた質問 「functions」

1
このカスタムコマンドで「E488:末尾の文字」エラーが表示されるのはなぜですか?
私はこれ~/.vimrcを含むものを持っています: function! NewFile() let filename = input("Filename:") endfunction command NewFile :call NewFile()<cr> (もちろん私の実物.vimrcはもっと複雑ですが、プラグインなどを使わずにこの小さなテストケースを再作成しました。 私の意図は、テンプレートに従って新しいファイルの作成をサポートする関数を書くことです。ファイルの名前など、一部の入力項目はviユーザーから要求されます。 この関数はまだそれほど洗練されていません(控えめに言っても!)-ファイル名を尋ねるだけです。NewFileviコマンドラインからコマンドを使用すると起動しますが、ファイル名を入力してEnterキーを押すと、エラーが発生します。 E488: Trailing characters 何故ですか?何が間違っていますか?

4
スペル候補をループするコマンド
私はにマップzzしましたが1z=、これはほとんどの場合素晴らしいことですが、ときどき最初の提案は正しいものではありません。 したがって、他の提案を繰り返すために繰り返しzz(または.)続けたいと思います。 zz同じ単語の2番目はのようu2z=に機能し、3番目zzは同じu3z=ように機能します。 それを行う方法に関するアイデアはありますか? 編集: @ nobe4の素晴らしい答えに基づいて、私は自分がやりたいことをやり遂げることができましたが、改善や提案がある場合に備えて、しばらくここに置いておきます。 let s:spell_position = [] let s:spell_count = 0 let s:spell_word = "" function! LoopSpell() if s:spell_position != getpos('.') || \ (s:spell_count > 0 && s:spell_word !~ expand("<cword>")) let s:spell_count = 0 let s:spell_position = getpos('.') endif if s:spell_count > 0 silent execute "normal! …

1
折りたたみを使用してドキュメント内の表示行の数を数えますか?
foldlevel新しく開いたドキュメントを自動的に設定して、できるだけ多くのドキュメントが画面に収まるようにするプラグインを作成したいと思います。(つまり、短いドキュメントを完全に開いた状態で開き、長いドキュメントを開くとほとんど折りたたむようにします。) 現在の折りたたみ状態または特定の折りたたみレベルを前提として、ドキュメントに表示される行数を報告するvimの組み込み関数はありますか?(つまり、閉じた折り目は1行としてカウントされますが、表示するために下にスクロールする必要がある行もカウントされます。)

1
zGとzWを永続化する
編集:これを小さなプラグインに変えました。これは私の最初の試みであり、私が何をしているかわからないので、どんな助けでも大歓迎です。:) ここにあります:https://github.com/danielbmarques/vim-dialect ---------- 私が使用し続けたいzgとzwグローバルのvimに単語を追加するspellfileのが、私が使用したいzGとzWに単語を追加するためにspellfile 、私が編集していたファイルに固有。言い換えれば、私は各ファイルに対して永続的でzGありたいと思っzWています。 spellfile変更を設定するzgとzwコマンドとコマンドが変更されますが、必要なのはコマンドzGとzWコマンドのみを変更することです。 だから私はこれをやった: :au BufNewFile,BufRead * let &l:spellfile = expand('%:p:h') . '/.' . \ substitute(expand('%:t'), '\(.*\)\..*', '\1', '') . '.utf-8.add' nnoremap zG :call LocalSpell("zG")<cr> nnoremap zW :call LocalSpell("zW")<cr> nnoremap zuG :call LocalSpell("zuG")<cr> nnoremap zuW :call LocalSpell("zuW")<cr> nnoremap zg :call GlobalSpell("zg")<cr> nnoremap zw :call GlobalSpell("zw")<cr> nnoremap zug …

2
現在の行の特定の文字で始まる次の単語に移動する
タイトルに記載されているコマンドが欲しいです。組み込みのVimコマンドで探しましたが見つかりませんでした。私はvimの関数についていくつかのチュートリアルをオンラインで実行しました、アイデアは私のようなものを持つことです.vimrc: map <command> <argument>: call nextWordWithLetter(argument) function nextWordWithLetter(letter) " for word i in line " if word i's first letter = letter " col = column of word i " break col | "The command to jump to column number 'col' end function
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.