vim与tmux配置文件及常用命令总结

一. 配置文件

1. .tmux.conf
# 使用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
" 启用语法高亮
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
  1. 命令模式(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:替换光标所在位置的字符。
  • ~:切换光标所在位置字符的大小写。
  1. 插入模式(Insert Mode)
    进入插入模式可以进行文本输入,以下是进入插入模式的几种方式。
  • i:在当前光标位置变为插入模式。
  • I:在当前行首变为插入模式。
  • a:在当前光标后一个字符变为插入模式。
  • A:在当前行末变为插入模式。
  • o:在当前行下方新开一行,并变为插入模式。
  • O:在当前行上方新开一行,并变为插入模式。
  • Esc:从插入模式返回命令模式。
  1. 底行模式(Command-line Mode)
    底行模式允许你输入一行命令。通过这些命令,可以执行文件操作、设置选项、查找和替换等。
  • ::进入底行模式。

  • :w:保存文件。

  • :q:退出 Vim。

  • :wqZZ:保存文件并退出。

  • :q!:不保存并强制退出。

  • :e {file}:打开一个文件进行编辑。

  • :set nu:显示行号。

  • :set nonu:关闭行号显示。

  • :%s/old/new/g:全文件替换,“old”替换为“new”。

  • :/pattern:查找文本。

  • :noh:取消搜索高亮。

  • :!{command}:执行外部命令。

2. tmux

注意,以下命令均基于所给配置文件,默认命令前缀为Ctrl + B

  1. 会话管理
  • 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 的会话。
  1. 窗口(Window)管理
  • Ctrl+A c:创建新窗口。
  • Ctrl+A p:切换到前一个窗口。
  • Ctrl+A n:切换到下一个窗口。
  • Ctrl+A w:通过列表选择窗口。
  • Ctrl+A ,:重命名当前窗口。
  • Ctrl+A &:关闭当前窗口。
  • Ctrl+A 数字键:切换到编号为数字键的窗口。
  1. 面板(Pane)管理
  • Ctrl+A ":将当前面板水平分割。
  • Ctrl+A %:将当前面板垂直分割。
  • Ctrl+A 方向键:在不同面板间切换。
  • Ctrl+A o:循环切换到下一个面板。
  • Ctrl+A {:将当前面板左移。
  • Ctrl+A }:将当前面板右移。
  • Ctrl+A x:关闭当前面板。
  • Ctrl+A z:放大当前面板至全屏,再次按回复原大小。
  • Ctrl+A ;:切换至上次使用的面板。
  1. 其他命令
  • Ctrl+A r:重新加载配置文件。
  • Ctrl+A ::进入命令模式,可以输入更多 tmux 命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/585155.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无人机反制:雷达探测+信号干扰器技术详解

固定翼无人机、旋翼无人机等&#xff0c;可折叠式无机、DIY无人机等。黑飞&#xff0c;监管困难给航空业带来了诸多隐患&#xff1b;给恐怖袭击及间谍侦察带来新的方式、引发了各国地区政府的忧虑&#xff0c;在中国存在的问题更加严峻。 反无人飞行器防御系统(AUDS)&#xff0…

positivessl通配符证书签发13个月仅400元

PositiveSSL是Sectigo旗下的数字证书品牌&#xff0c;旗下的数字证书产品不仅具有签发速度快、性价比高以及兼容性高等特点&#xff0c;还可以为网站提供传输信息加密服务&#xff0c;保护客户隐私安全&#xff0c;提升客户对网站的信任度。今天就随SSL盾小编了解PositiveSSL旗…

【好书推荐8】《智能供应链:预测算法理论与实战》

【好书推荐8】《智能供应链&#xff1a;预测算法理论与实战》 写在最前面编辑推荐内容简介作者简介目录精彩书摘前言/序言我为什么要写这本书这本书能带给你什么 致谢 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你的陪伴…

C#基础|对象初始化器与构造方法对比总结

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 01 对象初始化器的作用 为了更加灵活的初始化对象的“属性”&#xff0c;是对构造化方法的补充。 02 构造方法总结 2.1、存在的必要性&#xff1a;一个类中&#xff0c;至少要有一个构造方法&#xff08;有无参数均…

公网ip申请ssl仅260

现在很多网站都已经绑定域名&#xff0c;因此使用的都是域名SSL证书保护网站传输信息安全&#xff0c;而没有绑定域名只有公网IP地址的网站想要保护传输信息安全就要申请IP SSL证书。IP SSL证书也是由正规CA认证机构颁发的数字证书&#xff0c;用来保护用户的隐私以及数据安全&…

本地运行测试 YOLOv8(20240423)

一、环境搭建请参考&#xff1a;Win10 搭建 YOLOv8 运行环境&#xff08;20240423&#xff09;-CSDN博客 二、安装 PyCham 1.1、下载安装 官网地址&#xff1a;Download PyCharm: The Python IDE for data science and web development by JetBrains 阿里云盘&#xff08;社区…

免费的单片机物联网MQTT平台选择

目的是多设备接入中控&#xff0c;平台只做转发。 选择巴法云&#xff1a;巴法科技&巴法云-巴法设备云-巴法物联网云平台 clientId是私钥uid&#xff1a; 多设备 clientId 填同一个 uid 都是可以的。平台应该是加了后缀区分。 支持自定义topic&#xff0c;操作简单&#x…

Stable Diffusion使用ControlNet:IP-Adapter实现图片风格迁移

IP-Adapter 全称是 Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models&#xff08;文本到图像扩散模型的文本兼容图像提示适配器&#xff09;&#xff0c;是腾讯研究院出品的一个新的ControlNet模型&#xff0c;旨在使预训练的文本到图像扩散模型能够生…

【Qt之·控件·样式表】

系列文章目录 文章目录 前言一、Qt样式表的基础知识1.1 Qt样式表的定义和语法规则1.2 Qt样式表中的选择器和属性1.2.1 盒子模型1.2.2 border 1.3 Qt样式表中的伪类和伪元素 二、编写基本的Qt样式表2.1 在Qt应用程序中引入样式表文件的方式2.2 设置基本的背景色、字体样式等 三、…

Anomalib:用于异常检测的深度学习库!

大家好,今天给大家介绍了一个用于无监督异常检测和定位的新型库:anomalib,Github链接:https://github.com/openvinotoolkit/anomalib 简介 考虑到可重复性和模块化,这个开源库提供了文献中的算法和一组工具,以通过即插即用的方法设计自定义异常检测算法。 Anomalib 包…

VUE+TS使用elementUI的el-checkbox双重v-for循环做勾选

html部分 <template><div class"hello"><el-form :model"elForm"> <!-- cities对象数组形式 --><el-form-item v-for"(item, topIndex) in cities" :key"topIndex"> <!--item.checked 是每一个item…

深度解析 Spring 源码:从BeanDefinition源码探索Bean的本质

文章目录 一、BeanDefinition 的概述1.1 BeanDefinition 的定位1.2 BeanDefition 的作用 二、BeanDefinition 源码解读2.1 BeanDefinition 接口的主要方法2.2 BeanDefinition 的实现类2.2.1 实现类的区别2.2.2 setBeanClassName()2.2.3 getDependsOn()2.2.4 setScope() 2.3 Bea…

用Python Turtle画一个中国结

中国结&#xff0c;作为中华民族传统文化的象征之一&#xff0c;以其独特的编织技艺和深厚的文化内涵&#xff0c;深受人们喜爱。今天&#xff0c;我们就来用Python的turtle模块&#xff0c;尝试绘制一个充满韵味的中国结。 我们先来看看整个中国结生成的过程&#xff1a; 中国…

ros2 node 之间的通信方式之 —— Topic通信案例

文章目录 ros2 node 之间的通信方式之 Topic通信Topic 通信案例1、创建工作空间2、创建功能包3、编写发布者和订阅者代码3.1 topic_helloworld_pub.cpp3.2 topic_helloworld_sub.cpp 4、编写CMakeLists.txt5、编译工作空间下的功能包6、运行结果 ros2 node 之间的通信方式之 To…

2024年,如何实现高效的自动化渗透测试?

随着当前网络安全威胁的不断扩展与升级&#xff0c;开展渗透测试工作已经成为广大企业组织主动识别安全漏洞与潜在风险的关键过程。然而&#xff0c;传统的人工渗透测试模式对测试人员的专业能力和经验水平有很高的要求&#xff0c;企业需要投入较大的时间和资源才能完成。在此…

Seata分布式事务使用!!!!

1.版本说明 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 2.建立Seata Server数据库&#xff08;TC-带头大哥的数据库&#xff09; incubator-seata/script/server/db at v1.6.1 apache/incubator-seata GitHub 3.业务库建表 incubator-seata/script/client/at/…

对于button按钮引发的bug

主要原因就是今天在给button按钮添加一个点击事件的时候&#xff0c;并没有声明button的type类型&#xff0c;就一直发生点击按钮但事件并不触发的问题。 触发这种问题的原因就是: 按钮默认的 type 类型是 "submit"&#xff0c;而不是 "button"。当你不显式…

探索潜力:中心化交易所平台币的对比分析

核心观点 平台币在过去一年里表现差异显著&#xff1a; 在过去的一年里&#xff0c;只有少数几个平台币如BMX、BGB和MX的涨幅超过了100%。相比之下&#xff0c;由于市值较高&#xff0c;BNB和OKB的涨幅相对较低。 回购和销毁机制在平台币价值中起决定性作用&#xff1a; 像M…

OpenHarmony实战开发-基础知识

Svg组件主要作为svg画布的根节点使用&#xff0c;也可以在svg中嵌套使用。 说明&#xff1a; svg父组件或者svg组件需要定义宽高值&#xff0c;否则不进行绘制。 创建Svg组件 在pages/index目录下的hml文件中创建一个Svg组件。 <!-- xxx.hml --> <div class"co…

[华为OD] C卷 5G网络 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站 200

题目 现需要在某城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N,接 下来需要各个基站之间使用光纤进行连接以确保基站能互联互通&#xff0c;不同基站之间架设光纤的成 本各不相同&#xff0c;且有些节点之间已经存在光纤相连&#…
最新文章