VI(vim)的块操作 自动提示 宏录制 分屏 vim小技巧
VI(vim)的块操作 自动提示 宏录制 分屏 vim小技巧
20140612 整理
参考: http://coolshell.cn/articles/5426.html
vim的多行缩进缩出
达到pycharm中选择多行后,按tab键,或shift+tab.
正常模式下,按两下>(大于号)光标所在行会缩进.
如果先按了n,再按两下>(小于号),光标以下的n行会缩进。
对应的,按两下<,光标所在行会缩出。
在可视模式下,选择要调整的代码块,按=,代码会按书写规则缩排好。
vim中黏贴内容错位或自动错误的添加注释
对于vim中黏贴的时候取消自动添加注释的办法.2种.
黏贴开关:
set pastetoggle=
直接命令:
直接在vim命令行输入
:set paste 黏贴完,再恢复模式如下
:set nopaste 恢复正常模式
块操作:
C+v 代表开始块操作
移动至相关位置
shift+[i,a]开始编译(原先vim里是直接输入i,a就可以编辑单行.
块操作,典型的操作: 0
1.在选中的行前加些东西: C-v,下移光标,shift+i,ESC
- ^ → 到行头
→ 开始块操作 直接移动到文章最后一行,或者用方向键慢慢移动 → 向下移动 - I-- [ESC] → I是插入,插入“--”,按ESC键来为每一行生效。
2.在部分行中间加东西(这些行是连在一个块内)
将光标移动到需要插入内容的字符之后
Ctrl+v (声明是块操作)
光标向下移动(选中多行构成一个块)
Shift+i (插入模式开启编辑)
输入插入的字符
按Esc结束 (结束操作)
3.在选中的行后加些东西
-
- 选中相关的行 (可使用 j 或
或是 /pattern 或是 % 等……) - $ 到行最后
- A, 输入字符串,按 ESC。
4.多行连接为单行(也很实用)
选中多行组成1个块后:
- J 所有的行连接起来(变成一行)
- < 或者 > 左右缩进
- = 自动缩进
自动提示:
在 Insert 模式下,你可以输入一个词的开头,然后按
宏录制: qa 操作序列 q, @a, @@
- qa 把你的操作记录在寄存器 a。
- 于是 @a 会replay被录制的宏。
- @@ 是一个快捷键用来replay最新录制的宏。
示例
在一个只有一行且这一行只有“1”的文本中,键入如下命令: - qaYp
q→ - qa 开始录制
- Yp 复制行.
增加1. - q 停止录制.
- @a → 在1下面写下 2
- @@ → 在2 正面写下3
- 现在做 100@@ 会创建新的100行,并把数据增加到 103.
vim分屏技巧
20130220 陈信
1.vim 打开一个文件后,输入:
:sp filename(水平分屏) 或者是 :vsp filename(垂直分屏)
则会水平分屏打开新的文件,通过ctrl+w w将光标切换到下一个文件
2.分屏启动Vim
使用大写的O参数来 垂直分屏: vim -On file1 file2 ...
使用小写的o参数来 水平分屏 : vim -on file1 file2 ...
注释: n是数字,表示分成几个屏。
3.关闭分屏
关闭当前窗口: Ctrl+W c
关闭当前窗口,如果只剩最后一个了,则退出Vim: Ctrl+W q
4.分屏打开文件
上下分割当前打开的文件: Ctrl+W s
上下分割,并打开一个新的文件: :sp filename
左右分割当前打开的文件: Ctrl+W v
左右分割,并打开一个新的文件: :vsp filename
5.移动光标
Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W
把光标移到右边的屏: Ctrl+W l
把光标移到左边的屏中: Ctrl+W h
把光标移到上边的屏中: Ctrl+W k
把光标移到下边的屏中: Ctrl+W j
把光标移到下一个的屏中: Ctrl+W w
6.移动分屏
这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。
向右移动: Ctrl+W L
向左移动: Ctrl+W H
向上移动: Ctrl+W K
向下移动: Ctrl+W J
7.屏幕尺寸
下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。
让所有的屏都有一样的高度: Ctrl+W =
增加高度: Ctrl+W +
减少高度: Ctrl+W -
vim小技巧
20141215 Chenxin整理
vim配置文件/etc/vimrc,或者是/root/.vimrc
1.将tab键改为4个空格:
将vimrc配置文件末尾追加:
set ts=4
set expandtab

浙公网安备 33010602011771号