vim的使用与配置

vim的简单使用

Content

  • 三种模式
  • 光标移动
  • 查找与替换
  • 删除、复制和粘贴
  • 命令行
  • 块选择
  • 多文件编辑
  • 多窗口显示
  • 中文编码问题
  • 语系转换和

三种模式

vim可以分为一般模式、编辑模式和命令行模式,各种模式的转换如下:
一般模式 ---> 编辑模式

i    当前表示符前
o    当前提示符下一行
a    当前提示符下一个
r    向后擦出

一般模式 ---> 命令行模式 :执行命令,/向下搜索,?向上搜索

编辑模式 ---> 一般模式 使用ESC键退出

移动光标

h,j,k,l    分别是左移,下移,上移,下移
0或者Home    移动到本行最前
$或者End    移动到本行最后
1G或gg    移动到第一行
nG    移动到第n行
G    移动到最后一行
n+space    向后移动n个字符
n+Enter    向下移动n行

查找和替换

/word    向下查找word
?word    向上查找word
n    移动到下一个目标
N    移动到上一个目标
:n1,n2s/word1/word2/g    从第n2到n2行将word1替换为word2
:1,$s/word1/word2/g    从第一行到最后将word1替换为word2
:1,$s/word1/word2/gc    从第一行到最后将word1替换为word2

复制和粘贴

X    向前删除
x    向后删除
dd    删除光标所在行
ndd    删除光标向下n行
d0    删除光标处到最前
d$    删除光标出到最后
d1G    删除光标出到第一行
dG    删除光标处到最后一行

yy    复制光标所在行
nyy    复制光标下n行
y0    复制从光标出到本行最前
y$    复制从光标处到本行最后
y1G    复制从光标处到第一行
yG    复制从光标处到最后

P    复制到光标上一行
p    复制到光标下一行

u    复原上一个操作
Ctrl+r    重复上一个操作

命令行

:q[!]    退出,加感叹号强制退出
:w[!]    保存,加感叹号强制保存
:wq[!]    保存退出,加感叹号强制
ZZ    若有改动保存退出,若无改动直接退出
:w[filename]    另存为filename
:r[filename]    将filename内容引入光标后边
:n1,n2 w filename    将n1到n2内容保存到filename中
:!command    暂时离开vi执行命令command

块选择

v    字符选择
V    行选择
Ctrl+v    块选择,长方形选择数据
y    复制选中块
d    删除选中块

多文件编辑

vim filename1 filename2
:n    编辑下一个文件
:N    编辑上一个文件
:files    列出目前vim打开的所有文件

多窗口显示

:sp filename    将另一个文件打开在另一个窗口
:sp    将本文件再次打开在另一个窗口
Ctrl+w+k/上    上一个窗口
Ctrl+w+j/下    下一个窗口
Ctrl+w+q    关闭当前窗口

中文编码问题

DOS与linux段行字符
在dos中CR与LF都是段行,在linux中只有LF

dos2unix [-kn] file newfile
unix2dos [-kn] file newfile
-k 保留源文件的日期
-n 保留源文件

语系转换和查看文件编码

    iconv --list:输出iconv支持的编码
  iconv -f 原本编码 -t 新编码 [-o newfile]
    file -bi filename
  :set fileending

简单配置

set smarttab
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set nu

Referrences
[1] 摘自《鸟哥的私房菜》第三篇,人民邮电出版社

原文地址:https://www.cnblogs.com/bingo711x/p/6127840.html