FreeBSD学习
常用命令
文件目录操作命令
- ls:列出目标目录中所有的子目录和文件
- cd:切换当前目录
- pwd:查看“当前工作目录”的完整路径
- rm:删除文件
- mkdir:创建目录
- mv:将文件重命名或将其移至一个新的目录中
- cp:将源文件复制至目标文件,或将多个源文件复制至目标目录
- cat:整个文件的内容从上到下显示在屏幕上
- more:一页一页的显示文件的内容,方便阅读
- ls | more:管道
文件查找命令
- find . -name filename
文件权限命令
- chmod 666 filename
其他命令
- ps:列出系统中当前运行的那些进程
- kill:用于杀死进程
- ifcongif:用来获取网络接口配置信息并对此进行修改
- ping:确定网络和各外部主机的状态
更多命令及命令详解可以参考:
http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html
VIM
vim介绍
评价:VIM is the God of editors, EMACS is God’s editor.
VIM高度自由,用户可以根据自己的习惯进行定制,打造一个专属于自己的vim。
vim的模式
Normal Mode:一般模式,进入vim的默认模式,一般从其他模式退出后都是到这个模式。
Command-line Mode:命令行模式,在normal Mode中按:调出,用于执行命令,启动插件之类的,比如最简单的:help。
Insert Mode:
插入模式,也就是在编辑的时候的模式,在normal Mode中按i可以调出,对于没有熟练使用vim的快捷键以及切换模式的初学者,很有可能一直处于insert mode。
Visual Mode:
可视化模式,可以对代码进行多行,多列,块处理。
vim配置
vim的配置文件是.vimrc,一般放在用户的主目录下,如果用户主目录下没有该文件可以调用命令:vim ~.vimrc创建并进行编辑。
普通设置
set nu "显示行号
syntax on "语法高亮
set nocompatible "使用vim的键盘模式,去除vi的一致性
set nobackup "不需要备份
set cursorline "高亮当前行
set mouse=a "鼠标可用
set tabstop=4 "tab缩进
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab
set cindent "c文件自动缩进
set autoindent "自动对齐
set smartindent "智能缩进
set hlsearch "高亮查找匹配
set showmatch"显示匹配
set ruler "显示标尺,就是在右下角显示光标位置
高级一点的设置
按键映射,vim如此强大的原因之一:map、noremap
括号自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap ' ''<ESC>i
:inoremap " ""<ESC>i
:inoremap <CR> <c-r>=EnterKey('}')<CR>
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
function! EnterKey(char)
if getline('.')[col('.') - 1] == a:char
return "\<CR>\<ESC>\O"
else
return "\<CR>"
endif
endfunction
vim快捷键
快捷键主要是在Normal Model下使用
移动光标:
- k,j,h,l:对应上下左右,也可用方向键控制,在前面输入数字表示跳转的字符数或者行数,如向后跳转3行就是3j
- nb,nw:向前\后移动几个单词,如向后移动3个单词就是3b
- gg:跳转到文件头
- Shift + g:跳转到文件尾
- ,3 :移动到几行后的行尾
- 0:移动到行首
- ctrl+b\f:向上\下滚动一屏
插入:
- i,I:光标前\行首插入
- o,O:后\前一行插入
- a,A:光标后\行尾插入
删除及剪切:
- ndw:
- ndd:剪切n行,如剪切3行就是3dd
- D:删除到行尾
- d$:剪切当前行光标所在的位置到行尾
- d^:剪切当前行光标所在的位置到行首
复制
- yy:复制一行
- yaw:复制一个单词,光标在单词任意位置
- ynw:复制N个单词
- ynj:向下复制n行
- ynk:向上复制n行
粘贴
- P:粘贴至光标前
- p:粘贴至光标后
- 3p:粘贴3次
vim分屏
多窗口打开
- :new 新建一个未命名窗口
- :new name 新建一个名为name的文件
- :sp filename 以水平分屏方式打开一个文件
- :vs filename 以垂直分屏方式打开一个文件
- vim -on file1 file2 … 运行VIM事以分屏方式打开多个文件
窗口间切换
- j:切换到下分屏
- k:切换到上分屏
- h:切换到左分屏
- l:切换到右分屏
窗口大小调整
- :resize+num “将窗口的高度增加num行
- :resize-num “将窗口的高度减少num行
- :vertical resize+num “将窗口的宽度增加num列
- :vertical resize-num “将窗口的宽度减少num列
(可用res代替resize)
关闭窗口
- q:关闭当前分屏
- qa:关闭所有分屏,退出VIM
- wqa:保存所有打开的文件,关闭所有分屏,退出VIM
vim插件
Pathogen:vim插件管理工具,安装文件及方法见网址https://github.com/tpope/vim-pathogen
NerdTree:文件目录,以树型结构展示,安装文件及方法见网址:https://github.com/scrooloose/nerdtree
airline:https://github.com/vim-airline/vim-airline
Matrix: