vi 快捷键/ctags
vi 配置
syntax enable
set nu
set relativenumber
set hlsearch
set autoindent
set shiftwidth=4
set tabstop=4
set expandtab
set cursorline
let g:netrw_liststyle = 3
let g:netrw_banner = 0
let g:netrw_winsize = 25
let g:netrw_browse_split = 3
set foldmethod=indent
zc 代码折叠
zo 代码展开
ctrl-f ctrl-b //整页翻页 f=forword b=backward
ctrl-d ctlr-u //翻半页 d=down u=up
:E :Vex :Sex 打开目录
ctrl+ww 切换左右窗口
文件或目录操作
创建文件 按 % 后, 输入文件名
创建目录 按 d 后, 输入目录名
删除文件或者目录 移动到对应的目标后, 按 D
重命名文件或者目录 移动到对应的目标后, 按 R
ctags安装
sudo apt install ctags
sudo ctags -R * //在项目中建立tags索引文件
ctrl+] //跳转至光标所在对象定义之处
ctrl+t //返回跳转前位置
常用快捷键:
x 删除光标处的字符
dd 删除整行
i 在光标前插入文本
a 在光标后插入文本
o 当前行下插入新行
u 撤销最后一次修改
:e! 放弃所有修改,从上次保存开始处再编辑
:wq 保存退出
:q! 不保存退出
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
折叠方式
set fdm=indent
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
多行复制
6,9 co 12
复制第6行到第9行之间的内容到第12行后面。
6,9 m 12
剪切第6行到第9行之间的内容到第12行后面。
G 移到文件的最后一行
nG 移到文件的第n行
w 移到下一个字的开头
W 移到下一个字的开头,忽略标点符号
b 移到前一个字的开头
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
0或| 移到当前行的第一列
n| 移到当前行的第n列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+或return 移到下一行的第一个字符
- 移到前一行的第一个非空字符
a 在光标后插入文本
A 在当前行插入文本
i 在光标前插入文本
I 在当前行前插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行
:r file 读入文件file内容,并插在当前行后
:nr file 读入文件file内容,并插在第n行后
escape 回到命令模式
^v char 插入时忽略char的指定意义,这是为了插入特殊字符
x 删除光标处的字符,可以在x前加上需要删除的字符数目
nx 从当前光标处往后删除n个字符
X 删除光标前的字符,可以在X前加上需要删除的字符数目
nX 从当前光标处往前删除n个字符
dw 删至下一个字的开头
ndw 从当前光标处往后删除n个字
dG 删除行,直到文件结束
dd 删除整行
ndd 从当前行开始往后删除
db 删除光标前面的字
ndb 从当前行开始往前删除n字
:n,md 从第m行开始往前删除n行
d或d$ 从光标处删除到行尾
dcursor_command 删除至光标命令处,如dG将从当产胆行删除至文件的末尾
^h或backspace 插入时,删除前面的字符
^w 插入时,删除前面的字
v 进入字符可视化模式
V 进入行可视化模式
Ctrl+v 进入块可视化模式
多行注释:
将光标移动到要注释的第一行位置
按ctrl + v进入 visual block模式
按字母j,或k(或者上下移动键)纵向选中需要注释的行
按大写字母I,进入插入模式
输入注释符号,例如##(需要添加几列就输入几个)
按esc键就注释多行了。
取消多行注释
将光标移动到要取消注释的第一行第一列位置
按ctrl + v进入 visual block模式
按小写字母h或l横向选中列的个数,按小写字母j或k纵向选中行的个数(同样可以使用上下左右移动键)
按d键或者delete键就可多行取消注释。
多行行尾加逗号
ctrl+v 3j $ A ,
多行变一行
V 3j J


vi 快捷键/ctags的更多相关文章
- Ubuntu终端及VI 快捷键
Ubuntu终端 快捷键 功能 Tab 自动补全 Ctrl+a 光标移动到开始位置 Ctrl+e 光标移动到最末尾 Ctrl+k 删除此处至末尾的所有内容 Ctrl+u 删除此处至开始的所有内容 Ct ...
- vi快捷键
/** * eclipse内置快捷: * * * 导入包:Ctrl+Shift+O * Ctrl+T 查看一个类的继承关系树,是自顶向下的,再多按一次Ctrl+T, 会换成自底向上的显示结构. 提示: ...
- vi快捷键必知必会
文本编辑器是所有计算机系统中最常用的一种工具.UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! ...
- linux vi快捷键大全
h或^h 向左移一个字符 j或^j或^n 向下移一行 k或^p 向上移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开头 W 移到下一个字的开头,忽 ...
- vi 快捷键【转】【weber整理必出精品】
光标的移动 命令 光标移动 h或^h 向左移一个字符 j或^j或^n 向下移一行 k或^p 向上移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开头 ...
- vi快捷键使用大全
光标控制命令 命令 光标移动 h或^h 向左移一个字符 j或^j或^n 向下移一行 k或^p 向上移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开 ...
- vi 快捷键
屏幕翻滚类命令Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:向文件尾翻一屏Ctrl+b:向文件首翻一屏 shift+g:到尾部 H:跳到第一行.M:跳到中间.L:跳到最后一行. ...
- vi 快捷键积累
依据自己用到的.或者还没记住的.或者用的时候忘了的,慢慢积累. 一.全选复制粘贴. 全选: ggVG // 凝视: gg 光标移到首行 V 进入Visual(可视)模式 G 光标移到最后一行全选 选中 ...
- vim、vi 快捷键
普通模式 移动光标 nj.nk 上下移动n行 nb.nw 前后移动n个单词 nh.nl 左右移动n个字符 L 移到屏幕的最后一行 M 移到屏幕的中间一行 H 移到屏幕的第一行 nG 移到文件第n行 G ...
- VI快捷键速记
enjoy :P
随机推荐
- Linus对Linux 6.3内核的合并解释不满
Linux 6.3 内核的合并窗口已开启,Linus Torvalds 也收到了大量的 PR,目前总体看来正在有序进行.但 Linus 对部分合并请求的日志信息非常不满:"我之前就已经说过, ...
- java 转发重定向
首先我们要知道: (1)request.getRequestDispatcher()是请求转发,前后页面共享一个request ; 这个是在服务端运行的,对浏览器来说是透明的.(2)response. ...
- appsettings.json用机密替换字符串-利用 VisualStudio 管理用户机密
以纯文本形式存储密码是不安全的. 例如,存储在中的数据库连接字符串 appsettings.json 可能包含指定用户的 密码: { "ConnectionStrings": { ...
- ionic混合开发总结之调用手机相机
整理一下,给接触ionic的伙伴们一些参考,少走弯路. 调用手机的前提是已经成功创建了项目. 首先,要下载两个插件,一个是 cordova-plugin-camera,是调用相机的插件,还有一个是Ng ...
- VUE学习-列表渲染
列表渲染 v-for <!-- v-for="(v,k,i) in arr/obj" --> <ul id="app"> <li ...
- mysql数据库新建用户,并赋予权限
新建用户: CREATE USER 'testuser'@'LOCALHOST' IDENTIFIED BY '123456'; 赋予权限: grant select on *.* to 'testu ...
- SVN检出未响应,版本库浏览打不开卡死。
今天遇到一个奇葩问题. 1.换了新电脑,首先SVN地址没问题.检出就未响应,不弹出输入用户名,密码. 2.发现装了讯软加密软件,后安装的SVN.(未告知管理员,对新机加密软件配置).配置完可以正常用了 ...
- Windos下 java后台软件服务化(举例)-WinSW
WinSW-软件服务化 1.1 举例:ApiWintool可执行jar ApiWintool.exe ApiWintool.jar ApiWintool.xml install.cmd uninsta ...
- swagger TypeError: Failed to fetch
最近开发一个项目,项目接口规范是swagger,初次使用swagger遇见很多问题,通过写博记录在项目中遇见的swagger各种情况 我项目中解决方法: 改为: 需要与自己在laravel 框架中e ...
- macOS 系统安装提示应用程序副本已损坏的解决方法
错误预览: 操作方法,关闭Wi-Fi,网线(以修改时间为 2020 为例): 再次尝试安装吧...