/ code-snippet  

vim Code Snippet

常用

  • 全选(高亮显示):按 esc 后,然后 ggvG 或者 ggVG
  • 全部复制:按 esc 后,然后 ggyG
  • 全部删除:按 esc 后,然后 dG

粘贴到终端 vim 缩进错乱

https://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim/38258720#38258720

在 vim 中粘贴前先输入:

:set paste

原因:在终端的 vim 中没有相应的程序来处理这个从其他应用复制粘贴的过程,所以 vim 通过插入键盘输入的 buffer 来模拟这个粘贴的过程,这个时候 vim 会以为这是用户输入的。

问题就是出在这:当上一行结束,光标进入下一行时 vim 会自动以上一行的的缩进为初始位置。这样就会破坏原始文件的缩进。

基础命令

  • gg 是让光标移到首行,在 vim 才有效,vi 中无效
  • G 光标移到最后一行
  • d 删除选中内容
  • y 复制选中内容到 0 号寄存器

References

– EOF –