最近切换到Linux,用vim写代码还有点不习惯,于是把编码需要的常用功能做个列表,便于学习整理:
文本选取、复制、粘贴
回车之后自动按段落补齐
整段缩进
撤销、重做
删除整行、删至行首、尾、删除选定区域
语法提示
上一个、下一个文本位置
打开多个文件窗口,窗口间切换
支持工程和变量、函数定义跳转
文本搜索、替换、支持正则表达式
执行shell命令
调用编译器执行编译连接
调试工具整合
vim:
移动:
^ 移动到本行第一个非空白字符上。
w 向前移动一个单词
b 向后移动一个单词
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
删除:
命令模式下:
dd删除当前行
do删至行首
d$删至行尾
输入模式下:
ctrl + u 删至行首,不包括行首缩进
复制:
可视模式选择后 输入 ?y 复制到寄存器?中。
命令模式 输入?nyy 赋值光标下n行到寄存器?中
粘贴:
命令模式 输入?p 进行粘贴
文本搜索 man more less 似乎通用:
/pattern 从光标处向文本末尾搜索pattern
?pattern ***************首************
n 命令模式重复上一方向的搜索命令
N ************上一命令反方向搜索命令
文本替换:
ra 将当前字符替换为a,当期字符即光标所在字符。
s/old/new/ 用old替换new,替换当前行的第一个匹配
s/old/new/g 用old替换new,替换当前行的所有匹配
s/old/new/ 用old替换new,替换所有行的第一个匹配
%s/old/new/g 用old替换new,替换整个文件的所有匹配
:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。
语法高亮 和 自动缩进,在/etc/vim/vimrc中修改(影响所有用户):
syntax on //语法颜色
set tabstop=4 //制表符宽度
set softtabstop=4
set expandtab //用空格代替制表符
set cindent shiftwidth=4 //开启语法缩进 缩进宽度为4
set nu //显示行数
撤销和重做:
命令模式下,输入 u 为撤销上一次操作,ctrl+r 为重做
手动缩进,命令模式或可视模式下:
< 向左缩进
> 向右缩进
缩进默认是一个tab的宽度,如何设置,待研究
通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。
多窗口命令:
:split或new 打开一个新窗口,光标停在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的,使用vsplit vnew可以纵向打开窗口。
Ctrl+ww 移动到下一个窗口
Ctrl+w _ 最大化当前窗口
Ctrl+w = 平分当前打开的窗口
调用脚本 自动在文件中插入注释:
粘贴代码的格式问题:
阅读(1644) | 评论(0) | 转发(0) |