39107


AtomでVimを使って開発をしています。

AtomのVimでテキストオブジェクトを使用したく、  
「vim-surround」パッケージをインストールしました。

「ciw」等のテキストオブジェクトは使用できるようになったのですが、  
""で単語を囲む「ysiw"」が効きません。

何か設定方法等あればお教えいただけると幸いです、よろしくお願いしますm(_ _*)m

【追記】

コメントでご指摘頂きました内容を、コメントにも書かせていただきましたがこちらにも追記します。

・Atomエディタに入れたプラグイン  
vim-surround(<https://atom.io/packages/vim-surround>)


CC BY-SA 3.0
2017-10-27T01:01:58.510
39057
2017-10-28T14:22:17.467
2017-10-27T03:31:10.070
question
vim atom-editor
Atom Vimコマンド(テキストオブジェクト)について


わかりきったところも含めて整理するとこうなります．

  * Atom も Vim もエディタの名前です．
  * 「Atom で Vim を使う」というのは．この場合 Atom にパッケージを導入して Vim のようないろんな機能やキーマップを実現するというもので，具体的には [vim-mode-plus](https://atom.io/packages/vim-mode-plus) を使っておられるということでした．なお， Vim-mode-plus については作者によるチュートリアルもあるので[1] 参考になると思います．
  * [テキストオブジェクト](http://vim-jp.org/vimdoc-ja/motion.html#text-objects) というのは Vim の持っている概念（あるいはそれを実現するコマンド）のことです．たとえば， `c` (change) というオペレータと，`iw` (inner word) というテキストオブジェクトを組み合わせることで， `ciw` と打つことでその単語を変更することができます．これは， Vim ではプラグイン無しで使えるコマンドです．他のエディタ上でVim を模したプラグイン(今回の vim-mode-plus とか[evil](https://www.emacswiki.org/emacs/Evil) とか)を使う場合でも，同様に追加のプラグインを必要とせずに使えることが期待されます．
  * [vim-surround](https://github.com/tpope/vim-surround) というVim のプラグインがあって，これは例えば `ys`+`iw`+`"` で単語をクオートで囲えるようにするものです（真ん中の `iw` は前述のテキストオブジェクト）．これは Vim 用のプラグインで，vim-mode-plus 上で動くものではありません．
  * 同名の [vim-surround](https://atom.io/packages/vim-surround) というパッケージが Atom にあるようで，今回はこれをインストールしはったのだと思います．これは [vim-mode](https://atom.io/packages/vim-mode) を前提に visual mode で `s)` などのコマンドを提供するもので， `ysiw"` はサポートされていないようです．
  * さて，vim-mode-plus ではふつうのテキストオブジェクトは使えるようになっているようです．`ciw` は vim-mode-plus だけで使えるということです．
  * `ysiw"` のように「括弧やクオートで囲む」ということについては， vim-mode-plus では「実装はしてるけど，デフォルトのマッピングはない」という[状況のようです](https://atom.io/packages/vim-mode-plus#surround-not-work)．自分で設定するか，おすすめ通り [vim-mode-plus-keymaps-for-surround](https://atom.io/packages/vim-mode-plus-keymaps-for-surround) を追加でインストールすることで解決できそうです．

[1]: [ Vim/vim-mode-plus for Atom: 秒速で初心者からエキスパートになる。
たった７ステップで。](https://qiita.com/t9md/items/1c2f27684703847de2be#3-%E3%82%82%E3%81%A3%E3%81%A8%E3%81%88%E3%81%88-operator-%E3%81%A4%E3%81%8B%E3%81%88%E3%82%84)


CC BY-SA 3.0
2017-10-28T14:22:17.467
39107
2017-10-28T14:22:17.467
2901
39057
answer