\



vim的三种模式

命令模式

插入模式

退出模式

命令模式下配置vim

:set nu 行号添加  

:set nonu 取消行号  

:set mouse=a 添加鼠标选择  

:set cursorline 行线显示

 以上操作只在当前打开的 vim 中生效 , 如果设定永久生效编辑文件 /etc/vimrc


vim 命令模式下关键字搜索

/关键字

n 向下匹配

N 向上匹配

vim命令模式下设置字符

字符的复制

yl  : 复制一个字母

y3l   :复制 3 个字母

yw   :复制一个单词

y3w  : 复制 3 个单词

yy   :复制一行

y3y  : 复制 3 行

p   :复制完成后按“ P” 粘贴

字符的删除

dl :删除一个字母

d3l :删除 3 个字母

 dw: 删除一个单词

d3w: 删除 3 个单词

dd: 删除一行

d3d :删除 3 行

字符的剪切

cl :剪切一个字母

c3l: 剪切 3 个字母

cw :剪切一个单词

c3w :剪切 3 个单词

cc :剪切一行

c3c :剪切 3 行

esc ---> p 剪切过后会进入到插入模式,在执行粘贴动作时一 定要退出插入模式


批量修改字符


 :%s/ :原有字符 / 替换后字符    只替换每一行中出现的第一个原有字符

 :%s/ :原有字符 / 替换后字符 /g 替换所有

将1-5行所有的root替换成westos;

vim 及管理输入输出_重定向

vim 的分屏功能


 ctrl+w s :上下分屏

ctrl+w v :左右分屏

ctrl+w c :关闭光标所在屏幕

ctrl+w :上下左右 光标移动到指定屏幕

:sp file2 :同时编辑当前文件和 file2

vim 光标移动

在命令模式下  


: 数字 :移动到指定的行

G :文件最后一行

gg :文件第一行

在插入模式下


i   :光标所在位置插入

I    :光标所在行行首

a   :光标所在字符的下一个位置

A   :光标所在行行尾

o   :光标所在行下一行

O   :光标所在行上一行

s   :删除光标所在字符插入

S   :删除光标所在行插入

vim 的退出模式


 :q   :当用 vim 打开文件但没有对字符作任何操作时可直接退出

:q!   :当用 vim 打开文件并对字符作操作,放弃所有操作退出

:wq   :保存退出

:wq!   :强行保存退出,对超级用户及文件所有人生效

vimtutor


中文翻译: vimtutor  -g  zh


重定向

 重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、 域名的重定向、路由选择的变化也是对数据报文经由 路径的一种重定向)。


执行一个shell命令行时通常会自动打开三个标准文件:


标准输入文件(stdin-0),通常对应终端的键盘;

标准输出文件(stdout-1)和标准错误输出文件(stderr-2),这两个文件都对应终端的屏幕。

输出重定向

输出重定向 会覆盖源文件内容


> 重定向正确输出  

2> 重定向错误输出

&> 重定向所有输出

 

-标准输出重定向


命令   1> 文件名

命令   > 文件名


eg:

date >/tmp/data.txt

date >/tmp/data.txt

1.

2.

3.

4.

5.

6.

标准错误重定向

命令   2> 文件名


eg:

date3 >/tmp/data3.txt

1.

2.

3.

4.

覆盖重定向应用

# 在/etc目录下寻找名为passwd的文件

    find /etc/ -name passwd

  # 将所有的正确输出(标准输出)重定向到文件/tmp/passwdok.txt

    find /etc/ -name passwd 1> /tmp/passwdok.txt

  # 将所有的错误输出(标准错误)重定向到文件/tmp/passwderror.txt

    find /etc/ -name passwd 2> /tmp/passwderror.txt

  # 将所有输出信息存储到文件/tmp/all.txt

    find /etc/ -name passwd  &>/tmp/all.txt

    less /tmp/all.txt  

  # 将所有输出信息扔入垃圾箱

    find /etc/ -name passwd  &>/dev/null

追加重定向: 在原有的>后面再加一个>

输入重定向

输入重定向 tr 'a-z' 'A-Z' < westos

vim 及管理输入输出_vim_02

管道

符号 : |    “ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。


表示含义 : 将前一条命令的正确输出作为管道符后面命令的标准 输入


stderr 的输出不能通过管道


2>&1 可以把 stderr 转换成 stdout

vim 及管理输入输出_文件名_03



#  查看/etc/下文件名为passwd的文件个数, 只有正确的输出才可以通过管道;

#  wc -l filename 统计文件的行数

#  wc -c filename 统计文件的字节数(文件大小)

find /etc/ -name passwd | wc -l

# 查看命令所有的输出数量.  2>&1: 将标准错误(2)转换成标准输出(1), 通过管道并统计

find /etc/ -name passwd 2>&1 | wc -l

# 获取文件的第3行到第5行

head -n 5 passwd | tail -n 3

# 获取文件的第5行

head -n 5 passwd | tail -n 1

TEE

复制输出到指定位置


# 查找/etc/目录中passwd文件的个数, 并将文件详细信息保存到/tmp/tee1.txt

find /etc/ -name passwd 2>/dev/null  |tee /tmp/tee1.txt |  wc -l


vim 及管理输入输出_vim_04


vim 及管理输入输出_重定向_05