Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。 在Shell编程中会是必备的命令编辑器、熟练使用这是最基础的。
文章目录
1、Vim相关配置文件
2、Vim配置方案
syntax on 语法检查及高亮
set fenc=utf-8 设定默认解码
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
set number 显示行号
set autoindent vim使用自动对齐,也就是把当前行的对齐格式应用到下一行
set smartindent 依据上面的对齐格式,智能的选择对齐方式
set tabstop=4 设置tab键为4个空格
set shiftwidth=4 设置当行之间交错时使用4个空格
set ruler 设置在编辑过程中,于右下角显示光标位置的状态行
set incsearch 设置增量搜索,这样的查询比较smart
set showmatch 高亮显示匹配的括号
set matchtime=10 匹配括号高亮时间(单位为 1/10 s)
set ignorecase 在搜索的时候忽略大小写
\#set nobackup 禁止生成临时
set cursorline 当前行高亮
set t_Co=256 支持256色
colorscheme molokai 使用molokai颜色模板
3、 .vimrc vi的配置文件
用户家目录下创建 .vimrc 即 ~/.vimrc
[root@web01 ~]# cat .vimrc
syntax on set fenc=utf-8 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 set number set autoindent set smartindent set tabstop=2 set shiftwidth=2 set ruler set incsearch set showmatch set matchtime=10 set ignorecase set nobackup set cursorline set t_Co=256 #colorscheme molokai
syntax on set fenc=utf-8 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 set number set autoindent set smartindent set tabstop=2 set shiftwidth=2 set ruler set incsearch set showmatch set matchtime=10 set ignorecase set nobackup set t_Co=256
[root@web01 ~]# cd **/usr/share/vim/vim74/colors/**
[root@web01 colors]# ll
total 72
-rw-r--r--. 1 root root 2476 Jul 24 2015 blue.vim
-rw-r--r--. 1 root root 2990 Jul 24 2015 darkblue.vim
-rw-r--r--. 1 root root 548 Jul 24 2015 default.vim
-rw-r--r--. 1 root root 2399 Jul 24 2015 delek.vim
-rw-r--r--. 1 root root 2812 Jul 24 2015 desert.vim
-rw-r--r--. 1 root root 1666 Jul 24 2015 elflord.vim
-rw-r--r--. 1 root root 2476 Jul 24 2015 evening.vim
-rw-r--r--. 1 root root 3476 Jul 24 2015 koehler.vim
-rw-r--r--. 1 root root 2460 Jul 24 2015 morning.vim
-rw-r--r--. 1 root root 2006 Jul 24 2015 murphy.vim
-rw-r--r--. 1 root root 1037 Jul 24 2015 pablo.vim
-rw-r--r--. 1 root root 2673 Jul 24 2015 peachpuff.vim
-rw-r--r--. 1 root root 2311 Jul 24 2015 README.txt
-rw-r--r--. 1 root root 1393 Jul 24 2015 ron.vim
-rw-r--r--. 1 root root 2720 Jul 24 2015 shine.vim
-rw-r--r--. 1 root root 2445 Jul 24 2015 slate.vim
-rw-r--r--. 1 root root 1629 Jul 24 2015 torte.vim
-rw-r--r--. 1 root root 1840 Jul 24 2015 zellner.vim
cat .vimrc
set number "SET Comment START autocmd BufNewFile *.php,*.js,*.cpp exec ":call SetComment()" |normal 10Go func SetComment() if expand("%:e") == 'php' call setline(1, "<?php") elseif expand("%:e") == 'js' call setline(1, '//JavaScript file') elseif expand("%:e") == 'cpp' call setline(1, '//C++ file') endif call append(0, '#!/bin/bash') call append(1, '################################################') call append(2, '# Filename: '.expand("%")) call append(3, '#') call append(4, '# Author: xdz - 1226032602@qq.com') call append(5, '# Description: ---') call append(6, '# Create: '.strftime("%Y-%m-%d %H:%M:%S")) call append(7, '# Last Modified: '.strftime("%Y-%m-%d %H:%M:%S")) call append(8, '################################################') " call append(9, '') endfunc map <F2> :call SetComment()<CR>:10<CR>o "SET Comment END
6、Vim快捷键
快捷键 | 功能 |
---|---|
/word | 光标从上向下查找一个名称为word的字符串 |
?word | 光标从下向上查找一个名称为word的字符串 |
n | 为向后执行一个对匹配内容的查找动作 |
N | 与n相反 |
:n1,n2s#word1#word2#g | 在n1与n2行之间查找word1并替换为word2 |
:%s#word1#word2#g | 全文查找word1并替换为word2 |
:w | 保存 |
:q | 退出 |
:wq! | 强制保存退出 |
: x | 文档发生修改,则保存退出,否则,仅退出 |
ZZ | 文档发生修改,则保存退出,否则,仅退出 |
:w filename | 保存当前文档到filename文档中 |
:r filename | 读入filename文档的内容并加载到当前文档 |
:n1,n2 w filename | 将n1到n2行的内容保存成filename文件中 |
:n1,n2 co n3 | 将n1到n2行的内容拷贝到n3行后面 |
:n1,n2 m n3 | 将n1到n2行的内容移动到n3行后面 |
:!command | 暂时离开vi到命令行模式下执行command的显示结果 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
:noh | 取消高亮显示 |
:vsp file | 垂直分屏显示,同时显示当前文件和file文件内容 |
:sp file |
切换到下一个文件 :bn
切换到上一个文件
批量插入内容
ctrl+v
选中行
shift+i 可以插入内容(例如#)
esc退出
错乱的文件对齐
v 进入可视
选中内容
按=号
9、搜索匹配
从上到下的顺序,匹配出每个单词bin
/<bin> 命令模式下执行
光标移动到行末,shift+j
可以把下一行跟本行合并
文件的几行内容复制到文件末尾
:3,5 co $
在非空行结尾添加一个字符串
:%s#\(^[^( *$)].*\)#\1 www.abc.com#g
在非空行开头添加#
:%s@\(^[^( *$)].*\)@#\1@g
删除空行
:g/^ *$/d
删除所有行尾多余的空格
:%s# *$##
10、vim帮助
搜索帮助例子
:h :h :wq
11、vim 查看二进制文件
:%!xxd
%表示整个文件
!把前面内容传递给特定的命令/软件
xxd 16进制编辑器
转换回来
:%!xxd -r
12、其他查看二进制文件的工具
od -x /bin/cp
-x 十六进制
-d 十进制
-o 八进制
xxd /bin/ls
hexdump /bin/ls
xxd -g 1 -i -u -l 1000 cp >cp.txt -g number of octets per group in normal output. Default 2. 每个goup的字节数,默认为2,可设置。 -i output in C include file style. :输出为c包含文件的风格,数组方式存在 -l len stop after <len> octets. :转换到len个字节后停止转换。 -u use upper case hex letters. : 字节大写方式
最新评论
# 这只是一个创建远程登录并授权的语句、仅作为记录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Fit2cloud!' WITH GRANT OPTION;
当MGR集群初始化结束后,需要开启MGR集群自启动(需要有一台节点是自动开启引导) loose-group_replication_start_on_boot = ON #设置节点是否在启动时自动启动 MGR 集群 loose-group_replication_bootstrap_group = ON #设置节点是否作为初始引导节点启动集群
密码:blog.sirliu.com
本内容密码:blog.sirliu.com 最新整理的文章在这里喔:https://blog.sirliu.com/2018/11/shell_lian_xi_ti.html