Linux--vim 与 tmux

笔记2

简单的介绍tmux与vim
开发项目时的两个编辑环境,此为开发项目时所必备

tmux
作用

1.分屏:可以在一个开发框里分屏
2.允许terminal在连接断开之后可以继续运行,让进程不会因为断开连接而中断

结构
一个tmux可以有一堆session
每个sesion可开很多的window
每个window可以开很多pane
每个pane可以打开一个shell交互
如图所示:
在这里插入图片描述

常规操作
前言:tmux创建一个session,session中包含一个window

1)切分

竖直切分:先按ctrl+A松开,输入%,也就是按下shift+5 当按下ctrl+d,可以关闭tmux
水平切分:先按ctrl+A,再按”,即 shift+’ 同样的按下ctrl+d取消 对于切分来说,每一块都可以继续切分

2)退出

ctrl+d 退出 当window没有pane时,自动退出
当session没有window时,自动退出
故一直ctrl+d下去会直接退出

3).选择pane:

鼠标点击即可或输入ctrl+a,然后按方向键选择相邻的pane

4).调整分割线:

选中并拖动即可或者ctrl+a同时(同时也不松开)按方向键

5).全屏与取消全屏:

某个窗口全屏:选中并按下ctrl+A再按z
同样取消按ctrl+A再按z

6).挂起窗口:

ctrl+a然后按d,此为从session中退出
输入tmux a 或tmux attach,再开启session窗口

7)选择其他的session:

先进入tmux,然后在tmux里输入ctrl+a再按s
再session里的方向键操作:
→展开,→再按一次是展开所有pane ←按下是合上所有pane
←合上
↑↓选择session
如下所示:一共9个session,点开展开是一系列window,再展开window是pane
[在这里插入图片描述]

8).session中创建window与选择window:

ctrl+a再按c:创建window
ctrl+a再按w:选择其他window也可以展开合上每个window
注:ctrl+a+s与ctrl+a+w的区别:前者打开只展开session一级,展示session级中所有的window如图一,后者打开默认是w一级,展开window级中所有的pane,如图二

在这里插入图片描述
在这里插入图片描述

9).翻阅内容:

↑滚轮向上
如果没有鼠标:ctrl+a再按Pageup向上翻,按PageUp向下翻
按PageUp也可以唤醒

10).从tmux中复制文本:

按住shift键选择文本
ctrl+insert复制
shift+insert粘贴
mac电脑:command+c复制
command+v粘贴

vim
功能
1.命令行模式下的文本编辑器
2.根据扩展名判别编程语言,实现代码缩进、代码高亮

使用

vim filename
如果有该文件则打开
没有则打开一个新的文件,命名为filename

模式
1.一般命令模式/默认模式:无法编写,输入命令,每一个命令对应一个字母,支持复制粘贴删除文本
2.编辑模式:在默认模式下按i,进入编辑模式,按esc退出
3.命令行模式:默认模式下按:/?三个中任意一个进入命令行模式,命令行在最下面(个人建议用:)支持查找、替换、保存、退出、配置编辑器等
输入:wq,保存并退出

操作

1.i:进入编辑模式

2.esc:进入一般命令模式

3.小键盘可以操作前后左右
注:在命令模式下:vim会卡在最后一个字符前面,编辑模式会卡在最后一个字符,不像win,移动到最后会直接换行
同样的,无论是什么模式,往左移动到开头就会停下

4.光标的移动操作:n n是数字,光标会自动右移n个字符
一般命令模式下:0/home 将光标移动到本行开头
$/End 将光标移动到本行结尾
G:光标移动到最后一行

5.具体到哪一行的操作:
1).n/nG:表示想去具体到哪一行(n是到某一行的下面,nG是直达)
2).gg:到达第一行
3).n 向下跳n行

6.查找与修改字符串的操作:
1)./word:在命令行模式下,光标之下寻找第一个值为word的字符串
2).?word:在光标之上第一个值为word的字符串
3).n:重复前一个查找操作
4).N:反向查找,也就是说前一个命令向前找,此命令下向后找
5).:n1,n2s/word1/word2/g:n1,n2为数字,在第n1与n2之间找word1,并替换为word2
:1, s / w o r d 1 / w o r d 2 / g : 将全文的 w o r d 1 换成 w o r d 2 : 1 , s/word1/word2/g: 将全文的word1换成word2 :1, s/word1/word2/g:将全文的word1换成word2:1,s/word1/word2/gc:在每一次替换的时候都会让用户进行确认

7.:noh 关闭所查找的关键词的高亮

8.选中与删除
v:选中文本,按两下esc取消
d:删除选中文本(其实有剪切的特性)
dd:删除整行

删除多行的操作:
如:删除3–6行: 命令模式下 输入 :3,6d 按下回车即可
想删除指定行数:将光标移动到想要删除的最开始行,然后输入 想删除的行数 + d + 回车
如: 3d + 回车

9.复制与粘贴:
y:复制(文本)
p:在光标所处位置的下一行或下一个位置(通常当光标在两边时)粘贴
yy:复制当前行

10.撤销:u:撤销
ctrl+r:取消撤销
注:在windows里,ctrl+z撤销,ctrl+shift+z取消撤销

11.> 将选中的文本整体向右移动
< 将选中的文本整体向左移动

12.保存与退出:
:w保存
:w! 强制保存
一般命令模式下:按下ESC,按q退出
:q! 强制退出(不保存)
:wq 保存并退出
:wq! 强制保存退出

13.行号的显示与隐藏:
:set nonu 隐藏行号
:set nu 显示行号

14.paste模式:
为什么:当要粘贴过来的代码很长时,命令可能会失效,占用很大带宽,导致出现多重缩进
:set paste取消代码缩进,设置成粘贴模式
:set nopaste开启代码缩进

15.其他与gg有关的
gg+d+G 删除全部内容
gg=G 将全文格式化

16.vim的卡死处理
ctrl+q:当vim卡死时,可取消当前正在执行的命令

17.异常处理:当前进程出现冲突时,会出现异常
解决方法:1).找到正在多个打开的文件程序,并关掉,保证同一个进程只有同一个文件能打开
2).问题:当一个进程不小心被其他进程杀掉,当再打开main.cpp时,此时如果出现一个.swp缓存文件时会报错
解决:在没有任何一个进程打开该文件时,将.swp文件删掉即可

来源

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值