tainqing 发表于 2017-8-20 11:11:47

vi常用命令

插入:i                从光标当前位置开始插入a         从光标当前位置的下一个字符开始插入 o                在光标位置的下行插入一个空行,再进行插入O                在光标位置的上一行插入一个空行,再进行插入I                从光标所在行的开头开始插入正文A                从光标所在行的末尾开始插入正文esc=(ctrl+[)         文件保存与退出::w                 保存文件:w <filename> : 另存为 :w!                强制保存文件:q                退出:q!                强制退出:x                 = :wq 文件写入与打开::w filename        保存文件为给出的文件名:w! filename        强制保存文件为给出的文件名 :f filename         将当前文件重命名为filename :r filename        插入文件内容到光标指定的位置:e filename         编辑新文件(打开另一个文件进行编辑):e! 放弃对文件的修改,并加裁原始的文件内容 复制粘贴:x                 删除从光标开始的连续n个字符dd                 删除从光标开发的n行yy                复制从光标开始的n行y$                从光标位置复制在行尾p                粘贴gp 粘贴 u 撤消U 撤消对一行的全部操作ctrl+r 重做(反撤消).重复上次操作 yw 复制一个worddw 剪贴一个wordcw 修改一个wordD 剪贴光标到行尾C 修改光标到行尾 选择:v按字符选择V 按行选择ctrl+v 按块选择 光标跳转:h、j、k、l        左、下、上、右H、M、L                屏幕最上边、屏幕中间位置、屏幕最下边gg跳到文件第一行G    跳到文件最后一行$        跳到行末0(数字0)跳到行首 gg(或G)    跳到文件第n行H                跳到屏幕第n行fx光标移动到本行之后第一此出现“x”的位置;如:fa ,移动到下一次a出现的位置Fx光标移动到本行之前一此出现“x”的位置;如:fa ,移动到上一次a出现的位置%   在前后括号({}() )位置之间移动 :n                跳到第n行(同G)w                光标向右移动一个字W   光标移动到下的个空格之后b                光标向左移动一个字B   光标移动到上一个空格之后num%跳到文件num%处 , 如50% 编辑模式下按v        进入可视状态进行内容选择shift + >        所选内容向右移动一个tabshift + <        所选内容向左移动一个tab                查找替换:/string                 查找字符串 ,配合n(next)使用*向后搜索光标所在位置的一个word#向前搜索光标所在位置的一个word /\<xxx查找以xxx开头的字符串/xxx\>查找以xxx结尾的字符串/\<xxx\> 完全匹配查找 d/int main从光标所在位置开始删除,直到遇到int main :s/str1/str2                用str2替换行中首次出现的字符串str1:s/str1/str2/g                用str2替换行中所有的字符串str1 :%s/str1/str2/g   用str2替换全文中所有的字符串str1,不询问,强制替换:%s/str1/str2/gc用str2替换全文中所有的字符串str1,询问 fd        查找本行第一个d字符;        下一个,        上一个 vi:打开或新建:vi <filename>         #命令行:ed <filename>      #最后一行模式:fin <path/file>   #在路径path中查找文件,然后编辑它new <file>            # 在新窗口中编辑文件 窗口操作::sp(或ctrl+w+s): 打开一个新窗口,编辑相同的内容。:new(或ctrl+W+n): 打开一个空的北新窗口。ctrl+w+w: 在多个窗口间切换 J 删除行末的换行符,将下行与本行合并为一行滚屏:ctrl+u    向下滚半屏ctrl+d向上滚半屏ctrl+f 向下滚一屏ctrl+b向上滚一屏 ctrl+e向下滚一行ctrl+y向上滚一行 zz    将光标所在的行放在屏幕中间zt    将光标所在的行放在屏幕第一行 topzb    将光标所在的行放在屏幕最后一行 botton Go跳到文件尾部去插入 标签::tabe 打开新标签并在新标签中编辑file所指的文件: gt 在不同的标签之间切换 num指的是第几个标签:tabo 关闭所有其它的标签页:tabs 列出标签页和它们包含的窗口:tabfir 跳转到第一个标签 :tabl   跳转到最后一个标签vim比较文件内容:vimdiff main.c main2.cvim设置: set numberset nonumber set ignorecase    #忽略大小写 (查找字符串时)set noignorecase set ruler         #显示当前光标所在位置set nuruler set hlsearch      #高亮显示 (查找字符串是,找到后高亮显示)set nohlsearch set incsearch   #在输入字符串时就开发查找set noincsearch syn on #高亮显示set backspace=2#backspace可用 编程编:1. 打开include 的文件:(1) 光标放在文件名上,按 ctrl+wf ,在一个水平分割的窗口中打开。(2)        光标放在文件名上,按gf, 在同一个窗口中打开。2. 通过find命令打开文件:(1)先通过set path设置查找的目录:   set path=.,./**,/usr/include表示在当前目录,当前目录下的所有子目录,和/usr/include目录下进行查找   (2)设置好目录后在vi下用:find filename即可查找并打开文件信盈达企鹅要妖气呜呜吧久零就要。 3. ctags        (1).在项目目录下用“ctags -R .”产生tags文件。 可将ctags命令写入makefile文件中        (2).在vim中设置tags文件“set tags=tags”        (3).在vim中通过tag命令中转到函数:tag main    :tag {ident}         “中转到指定的标签    :tags                "显示标签    :Ctrl+]                “跳转到当前光标下的标签(函数声明处)    :Ctrl+T                “跳转到标签栈中较早的标签(函数调用处)        在taglist串口中将光标移动到某个tag上,按空格键会在状态栏上显示原型 4. taglist        :TlistOpen 打开taglisg        :p "预览taglist窗口中光标所在位置的tag。        :o "在新窗口中打开光标所在位置的tag                :l "展开tag        :+ "展开tag        := "展开所有tag        :- "折叠tag(不用shift)        :* "折叠所有tag 6. MiniBufExplorer        此插件会使窗口上显示一个buff清单,可以在该窗口上来选择打开某个buf文件        <Tab> :跳到下一个buffer名上        <shift+Tab>:跳到上一个buffer名上

xiaobing86203 发表于 2017-8-20 22:15:14

VI是神马?

忽乐极 发表于 2017-8-21 11:58:55

labVIEW?
页: [1]
查看完整版本: vi常用命令