一. 配置文件
1. .tmux.conf
tmux
# 使用Ctrl+A作为前缀组合键
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 支持鼠标操作
setw -g mouse on
# 为了能够重新加载配置文件而无需重启tmux,可以绑定一个快捷键
bind r source-file ~/.tmux.conf \; display-message "Config reloaded.."
# 设置窗口和面板的默认索引号从 1 开始而不是从 0 开始
set -g base-index 1
setw -g pane-base-index 1
# 开启窗口和面板的活动监控,标记出有内容更新的面板
setw -g monitor-activity on
set -g visual-activity on
# 配置状态栏信息
set -g status-interval 5
set -g status-justify centre
set -g status-left '#[fg=green]Session: #S#[default]'
set -g status-right '#[fg=yellow]#(date "+%H:%M:%S %d-%b-%y")#[default]'
# 窗口列表的颜色设置
setw -g window-status-current-bg blue
setw -g window-status-current-fg white
# 允许256色
set -g default-terminal "screen-256color"
2. .vimrc
vimrc
" 启用语法高亮
syntax on
" 显示行号
set number
" 启用折叠
set foldmethod=indent
set foldlevel=99
" 使用空格而不是制表符
set expandtab
" 设置Tab和自动缩进的大小
set tabstop=4
set shiftwidth=4
set softtabstop=4
" 智能缩进
set smartindent
" 让Vim在所有模式下都可以自由地使用鼠标
set mouse=a
" 启用剪贴板共享,使之能够与系统剪贴板交互
set clipboard=unnamedplus
" 搜索时高亮显示匹配
set hlsearch
" 使搜索变得更智能
set incsearch
" 忽略大小写
set ignorecase
" 在搜索中输入的大写字母会使搜索变为大小写敏感
set smartcase
" 使用24-bit(true color)颜色支持
if has('termguicolors')
set termguicolors
endif
" 设置状态栏
set statusline=%f%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ [LEN=%L]
set laststatus=2
" 启用折行
set wrap
" 显示不可见字符
set list
set listchars=tab:>-,trail:-,nbsp:+
" 字符编码设置
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
" 给新行使用当前行的缩进
set autoindent
" 实时显示输入命令
set showcmd
" 指定折叠打开时的标记
let g:foldopen_flags = 'search,insert,jump,undo'
" 允许无限次的撤销,即使在文件被保存后也能撤销之前的操作
set undofile
" 高亮当前行
set cursorline
" 取消换行空白处的光标箭头跳跃
set whichwrap+=<,>,h,l
" 设置颜色主题
colorscheme desert
" 在编辑时自动刷新文件
set autoread
" 让回退更加智能
set backspace=indent,eol,start
" 窗口换位时不要显示底部提示
set shortmess+=A
" 防止自动注释新行
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" 快速退出插入模式
inoremap jj <Esc>
" 显示匹配的括号
set showmatch
set matchtime=2
" 分屏时默认位置
set splitright
set splitbelow
" 在可视模式下显示空格(作为点)
set listchars=tab:>-,trail:~,extends:>,precedes:<,nbsp:+,space:·
set list
二. 常用命令
1. vim
- 命令模式(Normal Mode)
命令模式是 Vim 启动时的默认模式,可以执行大量命令来移动光标、编辑、删除、复制和粘贴文本。
h
,j
,k
,l
:左、下、上、右移动光标。w
/W
:移动到下一个字(word)/单词块(WORD)的开头。b
/B
:移动到前一个字(word)/单词块(WORD)的开头。e
/E
:移动到下一个字(word)/单词块(WORD)的末尾。$
:移动到行尾。0
:移动到行首。^
:移动到行的第一个非空字符。%
:移动到匹配的括号({, }, [, ], (, ))。gg
:移动到文件的第一行。G
:移动到文件的最后一行或指定的行号(如:5G
)。}
/{
:移动到下一个/上一个段落开头。dd
:删除当前行。D
:删除光标至行尾的内容。yw
:复制光标所在的单词。yy
:复制当前行。p
:在当前光标之后粘贴。P
:在当前光标之前粘贴。x
:删除光标所在位置的字符。r
:替换光标所在位置的字符。~
:切换光标所在位置字符的大小写。
- 插入模式(Insert Mode)
进入插入模式可以进行文本输入,以下是进入插入模式的几种方式。
i
:在当前光标位置变为插入模式。I
:在当前行首变为插入模式。a
:在当前光标后一个字符变为插入模式。A
:在当前行末变为插入模式。o
:在当前行下方新开一行,并变为插入模式。O
:在当前行上方新开一行,并变为插入模式。Esc
:从插入模式返回命令模式。
- 底行模式(Command-line Mode)
底行模式允许你输入一行命令。通过这些命令,可以执行文件操作、设置选项、查找和替换等。
-
:
:进入底行模式。 -
:w
:保存文件。 -
:q
:退出 Vim。 -
:wq
或ZZ
:保存文件并退出。 -
:q!
:不保存并强制退出。 -
:e {file}
:打开一个文件进行编辑。 -
:set nu
:显示行号。 -
:set nonu
:关闭行号显示。 -
:%s/old/new/g
:全文件替换,"old"替换为"new"。 -
:/pattern
:查找文本。 -
:noh
:取消搜索高亮。 -
:!{command}
:执行外部命令。
2. tmux
注意,以下命令均基于所给配置文件,默认命令前缀为
Ctrl + B
- 会话管理
Ctrl+A
d
:从当前会话中分离,保留后台运行。Ctrl+A
(
:切换到上一个会话。Ctrl+A
)
:切换到下一个会话。Ctrl+A
$
:重命名当前会话。tmux new -s session_name
:创建新的会话并命名。tmux attach -t session_name
:连接到名为session_name
的会话。tmux ls
:列出所有会话。tmux kill-session -t session_name
:终止名为session_name
的会话。
- 窗口(Window)管理
Ctrl+A
c
:创建新窗口。Ctrl+A
p
:切换到前一个窗口。Ctrl+A
n
:切换到下一个窗口。Ctrl+A
w
:通过列表选择窗口。Ctrl+A
,
:重命名当前窗口。Ctrl+A
&
:关闭当前窗口。Ctrl+A
数字键:切换到编号为数字键的窗口。
- 面板(Pane)管理
Ctrl+A
"
:将当前面板水平分割。Ctrl+A
%
:将当前面板垂直分割。Ctrl+A
方向键:在不同面板间切换。Ctrl+A
o
:循环切换到下一个面板。Ctrl+A
{
:将当前面板左移。Ctrl+A
}
:将当前面板右移。Ctrl+A
x
:关闭当前面板。Ctrl+A
z
:放大当前面板至全屏,再次按回复原大小。Ctrl+A
;
:切换至上次使用的面板。
- 其他命令
Ctrl+A
r
:重新加载配置文件。Ctrl+A
:
:进入命令模式,可以输入更多 tmux 命令。