迅维网

查看: 1519|回复: 1
打印 上一主题 下一主题

vi常用命令

[复制链接]
跳转到指定楼层
1#
发表于 2016-8-22 07:13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 中国 来自 中国

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
插入:
i             从光标当前位置开始插入
a     从光标当前位置的下一个字符开始插入
o            在光标位置的下行插入一个空行,再进行插入
O           在光标位置的上一行插入一个空行,再进行插入
I             从光标所在行的开头开始插入正文
A            从光标所在行的末尾开始插入正文
esc=(ctrl+[)        

文件保存与退出:
:w          保存文件
:w<filename> : 另存为
:w!          强制保存文件
:q           退出
:q!          强制退出
:x           = :wq

文件写入与打开:
:wfilename  保存文件为给出的文件名
:w!filename 强制保存文件为给出的文件名

:ffilename    将当前文件重命名为filename

:rfilename   插入文件内容到光标指定的位置
:efilename   编辑新文件(打开另一个文件进行编辑)
:e!放弃对文件的修改,并加裁原始的文件内容

复制粘贴:
[n]x               删除从光标开始的连续n个字符
[n]dd            删除从光标开发的n行
[n]yy             复制从光标开始的n行
y$          从光标位置复制在行尾
p            粘贴
gp 粘贴

u 撤消
U 撤消对一行的全部操作
ctrl+r重做(反撤消)
. 重复上次操作

yw 复制一个word
dw 剪贴一个word
cw 修改一个word
D 剪贴光标到行尾
C 修改光标到行尾

选择:
v 按字符选择
V 按行选择
ctrl+v 按块选择

光标跳转:
h、j、k、l    左、下、上、右
H、M、L             屏幕最上边、屏幕中间位置、屏幕最下边
gg 跳到文件第一行
G   跳到文件最后一行
$     跳到行末
0(数字0)跳到行首

[num]gg(或[n]G)    跳到文件第n行
[n]H              跳到屏幕第n行
fx 光标移动到本行之后第一此出现“x”的位置;如:fa ,移动到下一次a出现的位置
Fx 光标移动到本行之前一此出现“x”的位置;如:fa ,移动到上一次a出现的位置
%  在前后括号({}() )位置之间移动

:n           跳到第n行(同[n]G)
w           光标向右移动一个字
W  光标移动到下的个空格之后
b            光标向左移动一个字
B  光标移动到上一个空格之后
num% 跳到文件num%处 , 如50%

编辑模式下按v     进入可视状态进行内容选择
[n]shift+ >  所选内容向右移动一个tab
[n]shift+ <  所选内容向左移动一个tab        

查找替换:
/string          查找字符串 ,配合n(next)使用
* 向后搜索光标所在位置的一个word
# 向前搜索光标所在位置的一个word

/\<xxx 查找以xxx开头的字符串
/xxx\> 查找以xxx结尾的字符串
/\<xxx\>完全匹配查找

d/intmain  从光标所在位置开始删除,直到遇到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[d] <path/file>   #在路径path中查找文件,然后编辑它
new <file>            # 在新窗口中编辑文件

窗口操作:
:sp(或ctrl+w+s): 打开一个新窗口,编辑相同的内容。
:new(或ctrl+W+n): 打开一个空的北新窗口。
ctrl+w+w: 在多个窗口间切换

J 删除行末的换行符,将下行与本行合并为一行
滚屏:
ctrl+u[p]   向下滚半屏
ctrl+d[own] 向上滚半屏
ctrl+f[ront]向下滚一屏
ctrl+b[ack] 向上滚一屏

ctrl+e 向下滚一行
ctrl+y 向上滚一行

zz   将光标所在的行放在屏幕中间
zt   将光标所在的行放在屏幕第一行 top
zb   将光标所在的行放在屏幕最后一行 botton

Go 跳到文件尾部去插入

标签:
:tabe [file] 打开新标签并在新标签中编辑file所指的文件
:[num] gt 在不同的标签之间切换 num指的是第几个标签
:tabo 关闭所有其它的标签页
:tabs 列出标签页和它们包含的窗口
:tabfir[st] 跳转到第一个标签
:tabl[ast]   跳转到最后一个标签

vim比较文件内容:
vimdiff main.c main2.c

vim设置:

setnumber
setnonumber

setignorecase    #忽略大小写 (查找字符串时)
setnoignorecase

setruler         #显示当前光标所在位置
setnuruler

sethlsearch      #高亮显示 (查找字符串是,找到后高亮显示)
setnohlsearch

setincsearch     #在输入字符串时就开发查找
setnoincsearch

synon #高亮显示
setbackspace=2  #backspace可用
编程编:
1. 打开include 的文件:
(1) 光标放在文件名上,按ctrl+w  f ,在一个水平分割的窗口中打开。
(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。
       "在新窗口中打开光标所在位置的tag  
       :l "展开tag
       :+ "展开tag
       := "展开所有tag
       :- "折叠tag(不用shift)
       :* "折叠所有tag

6.MiniBufExplorer
       此插件会使窗口上显示一个buff清单,可以在该窗口上来选择打开某个buf文件
       <Tab> :跳到下一个buffer名上
       <shift+Tab>:跳到上一个buffer名上
       <Enter>:打开光标所在buffer
       d: 删除光标所在bufferbuffer

5. 自动补齐:
                           List
CTRL-XCTRL-F                   文件名
CTRL-XCTRL-L                 整行内容
CTRL-XCTRL-D                   宏定义(也包括那些在include文件里定义的宏)
CTRL-XCTRL-I                   当前文件和被当前文件include的文件
CTRL-XCTRL-K                  来自一个字典文件的word
CTRL-XCTRL-T                  来自一个thesaurus的word
CTRL-XCTRL-]           tags
CTRL-XCTRL-V          Vim的命令行
CTRL-XCTRL-N                根据当前文件里关键字补全
CTRL-XCTRL-U                 用户自定义补全方式   
CTRL-XCTRL-S                 拼写建议         

6.C编程常用命令:
       *    查找光标所在处的单词
       %    括号之间跳() {}     #if...#enfif 之间
       gd   中转到局部变量的定义处
       gf    跳到光标所在的头文件处,ctrl+o 跳回来

       cw   删除一个单词并进入插入模式
       dw  删除一个单词并
       [I     查看函数的声明:显示include文件中匹配这个函数名的一个清单

7.c-support命令:
1.注释:
       \cc
       \c
       \co

7. 习惯:
       1.留意一下你经常要重复进行的操作是什么。或者你花大部分时间都在干些什么。想一想有没有一个编辑命令可以替你做最让你头痛的事。
       2.不要重复做相同的事


2#
发表于 2016-9-10 01:03:03 | 只看该作者 来自: 山东淄博 来自 山东淄博
linux的软件你也会果然是个编程的大神

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复