vi

 
^        移动到该行第一个非空格的字符处
w 向前移动一个单词,将符号或标点当作单词处理
W 向前移动一个单词,不把符号或标点当作单词处理
b 向后移动一个单词,把符号或标点当作单词处理
B 向后移动一个单词,不把符号或标点当作单词处理
0 到行首
$ 到行尾
gg 到页首
G 到页末
行号+G 跳转到指定行
Ctrl+g 查询当前行信息和当前文件信息


CTRL+U 向上滚动半屏
CTRL+D 向下滚动半屏

ZZ:退出vi并保存
ZQ: =:!q

dw:删除光标之后的单词剩余部分。



rx:将当前光标下的字符更改为x(x为任意字符)
~: 更改当前光标下的字符的大小写

u: 撤销最后执行的命令
U: 修正之前对该行的操作
Ctrl+R:Redo

/ + 字符串:即可在当前文件查找相应的字符串。
.*[]^%~$ 在Vi中具有特殊含义,若需要查找则应该加上转义字符"/"

% 查找配对的括号。

s/old/new/g:替换old为new,若没有g则表示只替换一个。
若要每个替换都向用户询问则应该用gc选项



对代码自动格式化 gg=G
| a|     N  a    在光标后添加文本 (N 次)
| A|     N  A    在行末添加文本 (N 次)
| i|     N  i    在光标签插入文本 (N 次) (亦: <Insert>)
| I|     N  I    在当前行的第一个非空白字符前插入文本 (N 次)
| gI|    N  gI   在第一栏中插入文本 (N 次)
| o|     N  o    在当前行下方开始新行,添加文本 (N 次)
| O|     N  O    在当前行上方开始新行,添加文本 (N 次)



|:shell| :sh[ell] 开启一个 shell
|:!| :!{command} 通过一个 shell 执行命令 {command}


|p| N p 将一个寄存器的内容放置在光标位置后 (N 次)
|P| N P 将一个寄存器的内容放置在光标位置前 (N 次)
|]p| N ]p 如 p, 但调整当前行的缩进
|[p| N [p 如 P, 但调整当前行的缩进
|gp| N gp 如 p, 但将光标留在新文本之后
|gP| N gP 如 P, 但将光标留在新文本之后
v_y vy 将加亮的文本剪切至一个寄存器

|v| v 开始加亮字符 } 移动光标或使用
|V| V 开始以行方式加亮文本 } 操作符来影响被
|CTRL-V| CTRL-V 开始以块方式加亮文本 } 加亮的文本
|v_d| {visual}d 删除加亮的文本
|v_~| {visual}~ 翻转高亮文本的大小写
|v_u| {visual}u 改高亮的文本为小写 (U大 u小)

|v_aw| N aw 选择 "一个单词"
|v_iw| N iw 选择 "内含单词"
|v_aW| N aW 选择 "一个字串"
|v_iW| N iW 选择 "内含字串"
|v_as| N as 选择 "一个句子"
|v_is| N is 选择 "内含句子"
|v_ap| N ap 选择 "选择一个段落"
|v_ip| N ip 选择 "内含段落"
|v_ab| N ab 选择 "一个块" (从 "[(" 至 "])")
|v_ib| N ib 选择 "内含块" (从 "[(" 到 "])")
|v_aB| N aB 选择 "一个大块" (从 "[{" 到 "]}")
|v_iB| N iB 选择 "内含大块" (从 "[{" 到 "]}")




:map :ma[p] {lhs} {rhs} 在普通及可视模式下将 {rhs} 映射为 {lhs}
:map! :ma[p]! {lhs} {rhs} 在插入及命令行模式下将 {rhs} 映射为 {lhs}


|:set| :se[t] 显示所有被改动的选项
|:set| :se[t] all 显示所有非 termcap 选项
|:set| :se[t] termcap 显示所有 termcap 选项
|:set| :se[t] {option}? 显示 {option} 的值
|:set| :se[t] {option}& 重置 {option} 为其缺省值。

OPTIONS :
|'cindent'| |'cin'| 实现 C 程序的缩进
|'number'| |'nu'| 行前打印行号
|'smartindent'| |'si'| C 程序智能自动缩进


|:mkexrc| :mk[exrc][!] [file] 将当前的键盘映射, 缩写, 及设置
写入文件 [file] (缺省: ".exrc";
使用 ! 覆盖文件)
|:mkvimrc| :mkv[imrc][!] [file]
如 ":mkexrc", 但缺省为 ".vimrc"


:split 将窗口分割成两部分
:vsplit {file} 同上,但垂直分割
和vimdiff一样
1. Ctrl-w K(把当前窗口移到最上边)
2. Ctrl-w H(把当前窗口移到最左边)
3. Ctrl-w J(把当前窗口移到最下边)
4. Ctrl-w L(把当前窗口移到最右边)

Ctrl-w, w

复制vi里的东西:

在Select或visual模式下按 "*y 这三个键,就把你选择的内容拷到剪贴板里去了,然后<c-v>就可以了

看16进制:

:%!xxd

:%!xxd  -r    回来

删除掉所有的空行:

只有一个回车 :g/^$/d
行中只有一些空格  :g/^/s*$/d

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值