2012-07-16 13 views
12

現在の行をVimscript関数に渡すにはどうしたらいいですか?私は、現在の行に動作しますVimのマッピングを作成しようとしている。このような文字列を取ってい

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

そして、これで終わるために、すべてのリスト要素を引用:

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

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

+2

あなたの質問には回答されているが、私はあなたが 'を見てお勧めします:ヘルプ機能-list'。 – Raimondi

答えて

29

あなたは

let line=getline('.') 

を(注:また、11行のリストを取得するにはgetline(10, 20)を行うことができます)を使用することができ、現在の行を取得します。

あなたは

call setline('.', line) 

使用することができ、現在の行を設定します。この関数にリストを渡すと、currentで始まるいくつかの行を置き換えることもできます。

4

レジスタに格納してそこからアクセスできます。 byyカーソルがある行を削除します。あなたがチェックアウト@b

を使用してそれにアクセスすることができますhttp://vim.wikia.com/wiki/Word_under_cursor_for_command

+0

それはバイバイではなく「バイバイ」であってはなりませんか? –

関連する問題