Learn VIM
  • Vim Hands-On Tutorial (Learning Vi and Vims)
  • Vim Hands-On Tutorial(Learning Vim)
    • Chapter 1: Cursor Movement
    • Chapter 2: Opening Files, Finding Content
    • Chapter 3: Modifying and Saving Files
    • Chapter 4: Some Tips
    • Chapter 5: Splitting Windows and Tabs
    • Chapter 6: Block Operations
    • Chapter 7: Vim Macros
    • Vim Modes
    • Vim Plugins
    • plugins
      • Airline & Themes
      • EasyAlign
      • Plugin Recommendations
      • NERDTree
      • surround.vim
  • Vim 实操教程(Learning Vim)
    • 第一章:光标移动
    • 第二章:打开文件、查找内容
    • 第三章:文档的修改与保存
    • 第四章:一些小技巧
    • 第五章:分屏与标签页
    • 第六章:块操作
    • 第七章:Vim 中的宏
    • Vim 的模式
    • Vim 插件
    • plugins
      • Airline & Themes
      • EasyAlign
      • 插件推荐
      • NERDTree
      • surround.vim
Powered by GitBook
On this page

Was this helpful?

  1. Vim 实操教程(Learning Vim)

第六章:块操作

我们经常会遇到这种情况:某处有一个多行文本,我们要把他复制到代码中用来初始化一个 数组。 大部分时候我们会这么做:

  • 写好数组声明;

  • 把内容复制到中括号内(大概长成下面那段文本的样子)

  • 然后行首加 ' 行尾加 ',,重复直到最后一行(想象一下这段文本有 50 行)

有了 Vim 块操作就不用这么麻烦了,按 014gg,然后跟着选中那一行的指示操作。

var myArray = [
Ctrl-v 进入块操作,$ 到行尾,j 到下一行(做!)。
按 j 到下一行
下面还好多行,干脆来个 4j 多跳几行
https://www.yahaha.net
https://www.yahaha.net
以后看好行号再跳!现在按 A 插入,然后输入 <单引号><逗号><Esc> 完成第一步。
// Oops... 跳多了,没事,按 k 回到上一行
];

现在已经完成了第一步,还需要补前面的 ',按 14gg 回到那一行,再操作一次,但 是这次有三个地方要变化一下:

  1. 第一行按 $ 时改按 0,因为这次要在行首插入;

  2. 末行按 A 时改按 I,块操作中 A 是字符后插入, I 是字符前插入;

  3. 最后按 <单引号><Esc>。

最后再做些收尾工作,19gg$x 删掉最后一行结尾处的 ,,然后 14gg7== 把代码缩 进一下。

Done!

注意:选择行首行尾的操作也可以在选择完要处理的内容之后执行,即 Ctrl-v jjj$A',<Esc>

Previous第五章:分屏与标签页Next第七章:Vim 中的宏

Last updated 1 year ago

Was this helpful?

接下来我们说说 。

Vim 中的宏