linux c/c++ 编程之-----vim 基本使用
2013-10-25 20:12
555 查看
//高亮表示重要,易忘
设置一直显示行号: /etc/vim vimrc 增加 set nu
General
在命令模式下:
命令的组合:数字+命令
编辑模式的命令 小写一般往后,大写一般往前
visual mode
v
visual block mode
ctr+v
repeat the previous command (last change)
.
undo/redo
u/ctr+r
很多命令能通过
开始位置 命令 结束位置 执行
ctr+- 减小Vim窗口
ctr+shift+= 增大Vim 窗口
移动光标
basic movement
h j k l
word movement
w 下一个单词的开头
e 下一个单词的末尾
如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W
b 当前(前一个)的开头
ctr +f向下翻页
ctr + b 向上翻页
H 当前屏幕的最左上角
nH 当前屏幕第 n 行的行首
number powered movement
5w
gotostart/end
0/$
gotomatching parentheses
%
goto#line
gg G NG
^ 到本行第一个不是blank字符的位置
g_ 本行最后一个不是blank字符的位置
t, 在,之前的一个字符,,可以换成其他字符
区域选择
在visual 模式下,这些命令很强大,其命令格式为
action可以是任何的命令,如
object 可能是:
假设你有一个字符串
块操作:
块操作,典型的操作:
复制粘帖
p 粘帖
yy 拷贝当前行 相当于 ddp
y 从这里开始拷贝
0y$
ye
y2/foo
还有很多时间并不一定你就一定要按y才会拷贝,下面的命令也会被拷贝:
插入,删除
a 光标后插入
c 修改命令,进入编辑模式
cw 替换光标所在位置后到一个单词结尾的字符,进入插入模式
r 取代命令,不进入编辑模式
s 替换光标所在位置字符
自动提示: <C-n> 和 <C-p>
在 Insert 模式下,你可以输入一个词的开头,然后按 <C-p>或是<C-n>,自动补齐功能
I 移到当前行首,在前面插入文本
A 移到当前行尾,在后面插入文本
insert a line after/before
o/O
insert text repeatedly
3iyesEsc
remove charactor under/before cursor
x/X
delete and save tothe paste board
d dw d3e
查找,替换
find a charactor
f
find word under curser next/previous
*/#
search text next/previous
/text n/N
命令模式
:e <path/filename> 打开文件
:saveas <path/filename> 另存为
:x :wq ZZ 保存退出
:q! 不保存直接退出
:bn :bq 移到打开的文件
设置一直显示行号: /etc/vim vimrc 增加 set nu
General
在命令模式下:
命令的组合:数字+命令
编辑模式的命令 小写一般往后,大写一般往前
visual mode
v
visual block mode
ctr+v
repeat the previous command (last change)
.
undo/redo
u/ctr+r
很多命令能通过
开始位置 命令 结束位置 执行
ctr+- 减小Vim窗口
ctr+shift+= 增大Vim 窗口
移动光标
basic movement
h j k l
word movement
w 下一个单词的开头
e 下一个单词的末尾
如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W
b 当前(前一个)的开头
ctr +f向下翻页
ctr + b 向上翻页
H 当前屏幕的最左上角
nH 当前屏幕第 n 行的行首
number powered movement
5w
gotostart/end
0/$
gotomatching parentheses
%
goto#line
gg G NG
^ 到本行第一个不是blank字符的位置
g_ 本行最后一个不是blank字符的位置
t, 在,之前的一个字符,,可以换成其他字符
区域选择
<action>a<object>或
<action>i<object>
在visual 模式下,这些命令很强大,其命令格式为
<action>a<object>和
<action>i<object>
action可以是任何的命令,如
d(删除),
y(拷贝),
v(可以视模式选择)。
object 可能是:
w一个单词,
W一个以空格为分隔的单词,
s一个句字,
p一个段落。也可以是一个特别的字符:
"、
'、
)、
}、
]。
假设你有一个字符串
(map (+) ("foo")).而光标键在第一个
o的位置。
vi"→ 会选择
foo.
va"→ 会选择
"foo".
vi)→ 会选择
"foo".
va)→ 会选择
("foo").
v2i)→ 会选择
map (+) ("foo")
v2a)→ 会选择
(map (+) ("foo"))
块操作:
<C-v>
块操作,典型的操作:
0 <C-v> <C-d> I-- [ESC]
^→ 到行头
<C-v>→ 开始块操作
<C-d>→ 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)
I-- [ESC]→ I是插入,插入“
--”,按ESC键来为每一行生效。
复制粘帖
p 粘帖
yy 拷贝当前行 相当于 ddp
y 从这里开始拷贝
0y$
ye
y2/foo
还有很多时间并不一定你就一定要按y才会拷贝,下面的命令也会被拷贝:
d(删除 )
v(可视化的选择)
gUw(变大写)
guw(变小写)??
插入,删除
a 光标后插入
c 修改命令,进入编辑模式
cw 替换光标所在位置后到一个单词结尾的字符,进入插入模式
r 取代命令,不进入编辑模式
s 替换光标所在位置字符
自动提示: <C-n> 和 <C-p>
在 Insert 模式下,你可以输入一个词的开头,然后按 <C-p>或是<C-n>,自动补齐功能
I 移到当前行首,在前面插入文本
A 移到当前行尾,在后面插入文本
insert a line after/before
o/O
insert text repeatedly
3iyesEsc
remove charactor under/before cursor
x/X
delete and save tothe paste board
d dw d3e
查找,替换
find a charactor
f
find word under curser next/previous
*/#
search text next/previous
/text n/N
命令模式
:e <path/filename> 打开文件
:saveas <path/filename> 另存为
:x :wq ZZ 保存退出
:q! 不保存直接退出
:bn :bq 移到打开的文件
相关文章推荐
- linux下C 编程学习之多进程编程(一)
- linux下MySQL基础
- 每天学点Linux--(curses.h的安装和基本使用)
- mini2440:最简单的嵌入式Linux驱动程序模块
- linux下线程的创建
- Linux Directory Structure and Important Files Paths Explained
- [Linux驱动开发] mini2440开发板u-bbot移植
- Linux系统堆栈讲解
- Linux学习笔记——find查找
- yun命令为linux更新软件
- linux任务响应模型&linux实时化&RTAI 3.2分析&Adeos分析
- Linux 目录个数和文件个数限制(单个目录下最大文件数)
- Linux字符界面操作进阶
- linux 编译段错误解决方法
- centos下 keepalived1.2.8配置文件
- Linux僵尸进程
- linux运行模式
- Linux下C语言双向链表电话薄,能读写文件,连接mysql
- linux下 用户及 用户组
- Linux服务器详细安全配置