China FreeBSD

用PuTTY+Tmux+Vim快速打造远程、极简、高效的文本编辑环境

  • 贡献者:HHJ
  • 阅读:1544
  • 类别:脚本工具
  • 更新时间:2017-12-01 15:00:24

只所以强调快速打造,就是以最少的配置、最大限度地保留默认操作,同时兼顾文本编辑习惯和便利性来设置文本编辑环境。三个软件的主要功能如下:

  • PuTTY  windows下最受欢迎的远程登录软件之一
  • Tmux    一款优秀的终端复用和分屏软件
  • Vim       最著名的文本编辑器,被誉为`编辑器之神`

PuTTY配置

窗口大小设置

Window->Columns: 110
Window->Rows:    28

自动保持连接-心跳

Connection->Seconds between keepaliaves,单位是秒,我一般写30。
意思是每隔30秒就给服务器发送一个空数据包,以免服务器长时间没有收到数据包而自动断开 ssh 连接。

自动登录用户

Connection->Data->Auto-login username"的值即可,这样就不用每次都输用户名了。

全屏快捷键:ALT+Enter

Window->Behaviour->Full screen on Alt-Enter

Tmux配置(~/.tmux.conf)

# Pane跳转快捷键
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# Pane大小调节快捷键
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

# 开启鼠标 for vim version < 2.0
#setw -g mouse-resize-pane on
#setw -g mouse-select-pane on
#setw -g mouse-select-window on
#setw -g mode-mouse on
#set-window-option -g mode-mouse on
# 开启鼠标 for vim version >= 2.0
set-option -g mouse on
# 保持当前目录下,打开新Pane(默认为家目录) bind % split-window -h -c '#{pane_current_path}' bind '"' split-window -v -c '#{pane_current_path}'

Vim配置(~/.vimrc)

set nocompatible       "去掉vi的一致性"
set number             "显示行号"
set guioptions-=r      "隐藏滚动条"
set guioptions-=L
set guioptions-=b
set showtabline=1      "0:隐藏顶部标签栏,1:新建时才显示,2:总是显示"
set guifont=Monaco:h13 "设置字体"
syntax on              "开启语法高亮"
let g:solarized_termcolors=256    "solarized主题设置在终端下的设置"
set background=dark    "设置背景色"
set nowrap             "设置不折行"
set fileformat=unix    "设置以unix的格式保存文件"
set cindent            "设置C样式的缩进格式"
set tabstop=4          "设置tab长度"
set shiftwidth=4       "同上"
set showmatch          "显示匹配的括号"
set scrolloff=2        "距离顶部和底部2行"
set laststatus=2       "命令行为两行"
set fenc=utf-8         "文件编码"
set backspace=2
set mouse=a            "启用鼠标"
set selection=exclusive
set selectmode=mouse,key
set matchtime=5
set ignorecase         "忽略大小写"
set incsearch
set hlsearch           "高亮搜索项"
set noexpandtab        "不允许扩展table"
set whichwrap+=<,>,h,l
set autoread
set cursorline         "突出显示当前行"
" set cursorcolumn     "突出显示当前列"
" F5 运行当前文件
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec 'w'
    if &filetype == 'sh'
        :!time bash %
    elseif &filetype == 'python'
        :!time python %
    elseif &filetype == 'html'
        exec ":!w3m %"
    elseif &filetype == 'mkd'
        exec "!~/.vim/markdown.pl % > %.html &"
        exec "!w3m %.html"
    endif
endfunc

操作步骤

  1. 通过putty登录远程服务器
  2. 运行终端:tumx new -s ide
  3. 切割屏幕:Ctrl-b % 或 Ctrl-b "
  4. 编辑文档:vim filename
  5. 挂起终端:tumx detach 或 Ctrl-b d
  6. 复用终端:tumx a -t ide

Tip

1.关于文档编辑部分的分屏:既可用vim分屏,也可用tumx分屏,建议用后者,因为这样可以用鼠标拖动分割线调整分屏区域大小。

2. 由于tmux开启了鼠标操作,与putty的鼠标模式存在冲突,因此复制、粘贴时需使用Shift键,即:

复制: Shift+鼠标左键选取
粘贴:Shift+鼠标右键 or Shift+Insert

晒晒效果图