19

次のような文字列を使用して、現在の行で動作するVimマッピングを作成しようとしています。

[boiled cabbage, mad donkey, elephant, very dark fudge]

そして、すべてのリスト要素を引用して、これで終わります:

["boiled cabbage", "mad donkey", "elephant", "very dark fudge"]

私はvim正規表現を試してみましたが、現在の行を引数として取り、変換された行を返す関数を作成する方が簡単だと考えました。vimscriptで変換を実行しても問題ありません。しかし、現在の行を関数に渡すにはどうすればよいですか?また、行を変換された行に置き換えるにはどうすればよいですか?

4

2 に答える 2

44

現在の行を取得するには、使用できます

let line=getline('.')

getline(10, 20)(注: 11 行のリストを取得することもできます)。

現在の行を設定するには、使用できます

call setline('.', line)

. この関数にリストを渡すと、current で始まる行数を置き換えることもできます。

于 2012-07-16T04:11:22.173 に答える
5

レジスタにヤンクして、そこからアクセスできます。byyカーソルがある行をヤンクします。その後、次を使用してアクセスできます@b

http://vim.wikia.com/wiki/Word_under_cursor_for_commandをチェックしてください

于 2012-07-16T05:10:05.027 に答える