Vim 的几种模式:
- i 进入insert模式,可以像普通编辑器一样操作。
- esc 进入 Normal 模式,不可不可编辑,只可滚动查看。
- v 进入Visual模式
先简单的给vim装饰下
syntax on
set number
set norelativenumber
set cursorline
set wrap
set wildmenu
syntax on
这个可以开启代码的高亮
set number
这个开启行号
set norelativenumber
开启相对行号 一般用不到
set cursorline
开启线 在当前光标开启一条线
set wrap
让字不超出屏幕
set wildmenu
命令补全 按tab
set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限
set guifont=Luxi/ Mono/ 9 " 设置字体,字体名称和字号
filetype on "检测文件的类型
set history=1000 "记录历史的行数
set background=dark "背景使用黑色
set autoindent "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)
set cindent "(cindent是特别针对 C语言语法自动缩进)
set smartindent "依据上面的对齐格式,智能的选择对齐方式,对于类似C语言编写上有用
set tabstop=4 "设置tab键为4个空格,
set shiftwidth =4 "设置当行之间交错时使用4个空格
set ai! " 设置自动缩进
set showmatch "设置匹配模式,类似当输入一个左括号时会匹配相应的右括号
set guioptions-=T "去除vim的GUI版本中得toolbar
set vb t_vb= "当vim进行编辑时,如果命令错误,会发出警报,该设置去掉警报
set ruler "在编辑过程中,在右下角显示光标位置的状态行
set nohls "默认情况下,寻找匹配是高亮度显示,该设置关闭高亮显示
set incsearch "在程序中查询一单词,自动匹配单词的位置;如查询desk单词,当输到/d时,会自动找到第一个d开头的单词,当输入到/de时,会自动找到第一个以ds开头的单词,以此类推,进行查找;当找到要匹配的单词时,别忘记回车
set backspace=2 " 设置退格键可用
注意:如需要长久显示还需要下面操作:
步骤1:
cp /usr/share/vim/vimrc ~/.vimrc
先复制一份vim配置模板到个人目录下
注:redhat 改成 cp /etc/vimrc ~/.vimrc
步骤2:
vi ~/.vimrc
进入insert模式,在最后加二行
syntax on
set nu!(这里写操作命令即可)
保存收工。
接下我们再看下mac下vim的命令:
1 在目录间游走
命令1:pwd
作用:获取当前所在路径
Jason-MacBook-Pro:~ wangying$ pwd
/Users/wangying
命令2:ls (list)
作用:列出当前目录下的所有文件
Jason-MacBook-Pro:~ wangying$ ls
360云盘 PycharmProjects
Adlm RecentHostImage
Applications VirtualBox VMs
Creative Cloud Files WechatIMG36166.jpeg
Desktop controlconfig.conf
Documents iCloud 云盘(归档)
Downloads image
Justinmind nodePipe927.sock
Library pyaudio
Movies sunlogincontrol.pid
Music wxFormBuilder
Pictures xgen
Public
其他用法:ls -l (long)
作用:用长格式列出来
Jason-MacBook-Pro:~ wangying$ ls -l
total 2048
drwxr-xr-x@ 145 wangying staff 4640 1 22 20:14 360云盘
drwxrwxrwx 4 wangying staff 128 2 8 13:03 Adlm
drwxr-xr-x 3 wangying staff 96 1 19 2019 Applications
drwxrwxr-x@ 3 wangying staff 96 1 23 2019 Creative Cloud Files
drwx------+ 20 wangying staff 640 4 1 11:48 Desktop
drwx------+ 33 wangying staff 1056 3 19 15:38 Documents
drwx------+ 267 wangying staff 8544 4 1 11:44 Downloads
drwxr-xr-x 3 wangying staff 96 8 17 2016 Justinmind
drwx------@ 94 wangying staff 3008 3 31 16:05 Library
drwx------+ 5 wangying staff 160 3 19 12:36 Movies
drwx------+ 6 wangying staff 192 3 23 15:20 Music
其他用法:ls -a
作用:列出文件(包括隐藏的文件)
Jason-MacBook-Pro:~ wangying$ ls -a
. .viminfo
.. .vscode
.3T 360云盘
.:F89AA64 Adlm
.CFUserTextEncoding Applications
.DS_Store Creative Cloud Files
.Nuance-OmniPage-CSDK-19.2 Desktop
.Trash Documents
.Xauthority Downloads
.android Justinmind
.bash_history Library
.bash_profile Movies
其他用法:ls -al
作用:以长格式列出文件(包括隐藏的文件)
Jason-MacBook-Pro:~ wangying$ ls -al
total 2184
drwxr-xr-x+ 55 wangying staff 1760 4 1 11:11 .
drwxr-xr-x 6 root admin 192 3 12 23:50 ..
drwxr-xr-x 3 wangying staff 96 2 13 2019 .3T
-rw-r--r--@ 1 wangying staff 16 4 25 2015 .:F89AA64
-r-------- 1 wangying staff 9 8 7 2018 .CFUserTextEncoding
-rw-r--r--@ 1 wangying staff 32772 3 29 21:26 .DS_Store
drwx------ 2 wangying staff 64 3 30 16:49 .Nuance-OmniPage-CSDK-19.2
drwx------ 31 wangying staff 992 3 31 15:45 .Trash
-rw------- 1 wangying staff 0 10 31 09:43 .Xauthority
drwxr-xr-x 9 wangying staff 288 7 18 2019 .android
drwxr-xr-x@ 145 wangying staff 4640 1 22 20:14 360云盘
drwxrwxrwx 4 wangying staff 128 2 8 13:03 Adlm
drwxr-xr-x 3 wangying staff 96 1 19 2019 Applications
drwxrwxr-x@ 3 wangying staff 96 1 23 2019 Creative Cloud Files
drwx------+ 20 wangying staff 640 4 1 11:48 Desktop
drwx------+ 33 wangying staff 1056 3 19 15:38 Documents
drwx------+ 267 wangying staff 8544 4 1 11:44 Downloads
命令3:cd
作用:进行目录之间的相互跳转
Tips1:可以利用Tab键将目录名补全
Tips2:可以输入cd后,将文件拖入终端,这样可以显示该文件的目录
其他用法:cd (不带任何参数)
作用:返回家目录
其他用法:cd ~
作用:返回家目录
Tips:可以利用cd ~/Music快速到达该目录
Jason-MacBook-Pro:~ wangying$ cd Desktop/
Jason-MacBook-Pro:Desktop wangying$ ls
:
nman
logo.jpg
logo2.jpg
屏幕快照 2020-04-01 上午11.48.16.png
好的按钮.jpg
Jason-MacBook-Pro:Desktop wangying$ cd
Jason-MacBook-Pro:~ wangying$ ls
360云盘 PycharmProjects
Adlm RecentHostImage
Applications VirtualBox VMs
Creative Cloud Files WechatIMG36166.jpeg
Desktop controlconfig.conf
Documents iCloud 云盘(归档)
Downloads image
Jason-MacBook-Pro:~ wangying$ cd ~
Jason-MacBook-Pro:~ wangying$ ls
360云盘 PycharmProjects
Adlm RecentHostImage
Applications VirtualBox VMs
Creative Cloud Files WechatIMG36166.jpeg
Desktop controlconfig.conf
Tips:利用cd ~Guest/进入Guest用户的家目录
由于本机没有其他用户登录,所以无法演示该效果
其他用法:cd -
作用:返回上一个目录,你总是可以在两个目录之间进行切换
Jason-MacBook-Pro:~ wangying$ cd pyaudio/
Jason-MacBook-Pro:pyaudio wangying$ ls
CHANGELOG Makefile examples src
INSTALL README setup.py tests
MANIFEST.in build sphinx
Jason-MacBook-Pro:pyaudio wangying$ cd -
/Users/wangying
Jason-MacBook-Pro:~ wangying$ ls
360云盘 PycharmProjects
Adlm RecentHostImage
Applications VirtualBox VMs
Creative Cloud Files WechatIMG36166.jpeg
Desktop controlconfig.conf
其他用法:cd(空格)..
作用:返回上一层目录
Tips:..表示上一层目录,而.表示当前目录
Tips:如果想要执行当前目录可执行文件a,需要输入./a,表示当前目录下的那个a
说明:这样做可以提高安全性,不会与命令的英文发生歧义
Jason-MacBook-Pro:~ wangying$ cd ..
Jason-MacBook-Pro:Users wangying$ ls
Guest Shared wangying
2 目录文件操作
命令1:mkdir [文件名] (make dir)
作用:新建文件夹
Jason-MacBook-Pro:Desktop wangying$ mkdir temp
Jason-MacBook-Pro:Desktop wangying$
命令2:rmdir [文件名] (remove dir)
作用:删除文件夹
Jason-MacBook-Pro:Desktop wangying$ rmdir temp
Jason-MacBook-Pro:Desktop wangying$
Tips:如果文件夹内不为空,则无法用rmdir删除文件夹
命令3:mv [原文件名] [新文件名] (move)
作用:把文件从一个地方移到另一个地方,但是当没有给出另外一个目录时,移动的现象就是为其更改了名字
Jason-MacBook-Pro:Desktop wangying$ mv temp.txt temp2.txt
命令4:rm [文件名] (remove)
作用:删除文件
注意:用rm删除掉的文件是无法从回收站中找回的!!
Jason-MacBook-Pro:Desktop wangying$ rm temp2.txt
Tips:不能使用rm来删除文件夹
Tips:rm -rf [目录] (r-recursive递归的;f-force强迫的)
危险操作:使用rm递归删除文件夹及文件夹内所有内容,无法挽回
命令5:cp [带目录文件] [目标目录]
作用:复制黏贴
Jason-MacBook-Pro:Desktop wangying$ cp temp.txt temp2.txt
其他用法:cp -R [目录] [目标目录]
作用:用于带目录文件的复制
命令6:mv [原文件] [目标目录] (同命令3)
作用:移动
命令7:vim 文件名
作用:如果没有这个文件创建并编辑这个文件,如果有则打开这个文件
Jason-MacBook-Pro:Desktop wangying$ vim temp.txt
Jason-MacBook-Pro:Desktop wangying$
3 查看使用手册
命令1:man [命令]
例如:man cp
作用:查看该命令的使用手册
Tips:输入q来直接退出