简单记录Git和vim使用

git

基本教程:Git入门学习

此外从中摘录些常用操作

在这里插入图片描述

git分支中常用指令:

列出所有本地分支

git branch

列出所有远程分支

git branch -r

新建一个分支,但依然停留在当前分支

git branch [branch-name]

新建一个分支,并切换到该分支

git checkout -b [branch]

切换分支(本地分支)

git checkout [branch]

合并指定分支到当前分支

$ git merge [branch]

删除分支

$ git branch -d [branch-name]

删除远程分支

$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

遇到过的问题

Q1

$ git add .

warning: in the working copy of 'branch1.txt', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'convmixer.py', LF will be replaced by CRLF the next time Git touches it

换行(LF)转换成回车换行(CRLF),解决方法
git提示“warning: LF will be replaced by CRLF”的解决办法

Q2

$ git push origin newbranch1

warning: ----------------- SECURITY WARNING ----------------
warning: | TLS certificate verification has been disabled! |
warning: ---------------------------------------------------
warning: HTTPS connections may not be secure. See https://aka.ms/gcm/tlsverify for more information.
warning: could not find UI helper 'GitHub.UI'

然后在此处停滞

解决此警告的方法
git config --global http.sslVerify true
反向命令
git config --global http.sslVerify false

Q3

$ git push origin newbranch1
fatal: unable to access 'https://github.com/XXX/gitstudy.git/': OpenSSL SSL_read: Connection was reset, errno 10054

理由:
因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。

后续
原因还有一个,当前代理网速过慢,所以偶尔会成功,偶尔失败。

//取消http代理
git config --global --unset http.proxy
//取消https代理 
git config --global --unset https.proxy

errno 10054问题仍然存在

打开科学上网后问题变为

$ git push origin newbranch1
fatal: unable to access 'https://github.com/xxx/gitstudy.git/': Failed to connect to github.com port 443 after 21077 ms: Couldn't connect to server

Q4

$ git push origin newbranch1
warning: could not find UI helper 'GitHub.UI'

GIT clone 后could not find UI helper,且没有下条提示了怎么办?
新版本version 2.39的bug导致无法显示登录UI界面,请尝试旧版本如2.38.X。

我的版本

$ git -v
git version 2.39.0.windows.1

vim

基本教程:精通 VIM ,此文就够了

此外从中摘录些常用操作

四种模式

正常模式:主要进行的操作有光标的移动,复制文本,删除文本,黏贴文本等。(默认模式)

插入模式:正常模式下按下i,进入编辑状态,通过键盘输入内容。按下ESC回归正常模式。(i是在光标所在的字符之前插入需要录入的文本,此外还有i,I,a,A,o,O,s,S,具体看原文精通 VIM ,此文就够了

命令模式:正常模式中,按下:(冒号)键或者/ (斜杠),会进入命令模式。可以执行一些输入并执行一些 VIM 或插件提供的指令,包括设置环境、文件操作、调用某个功能等等。

VIM 可视化模式(Visual-mode):v,V,Ctrl+v ,选择文本的时候有一种鼠标选择的即视感。

(进入命令模式或者可视模式没有执行任何操作,按两下 ESC回复正常模式)

翻页操作

ctrl+f 查看下一页内容

ctrl+b 查看上一页内容

撤销操作和恢复

u 撤销刚才的操作

ctrl + r 恢复撤销操作

光标移动

h,j,k,l 这几个按键主要是用来快速移动光标的,h 是向左移动光标,l 是向右移动光标,j 是向下移动光标,k 是向上移动光标,h , j , k ,l 在主键盘区完全可以取代键盘上的 ↑ ,↓ ,← , → 的功能。

Vim 退出

:w 保存不退出
:w! 强制保存不退出
:w file 保存当前的文件修改到 file 文件当中
:q! 退出不保存
:qa! 退出所有文件且不保存
:wq 退出并保存修改
(另有其他)

Vim的复制,黏贴 ,删除(yank paste delete)

为什么在 vi 的世界, 拷贝都使用 yank 这个词, 而不是 copy?

dw 删除一个单词
dnw 删除 n 个单词
dd 删除一整行
ndd 删除光标处开始的 n 行
dH 删除屏幕显示的第一行文本到光标所在的行
dG 删除光标所在行到文本的结束

yw 复制一个单词,
ynw 复制n 个单词
yy 复制一行
nyy 复制光标处开始的 n 行
yH 复制屏幕显示的第一行文本到光标所在的行
yG 复制光标所在行到文本的结束

p 在光标后开始黏贴
P 大写的 P 光标前开始粘贴
当执行完复制或者黏贴的命令以后,VIM 会把文本寄存起来
(更多见原文)

分屏

左右分屏:

vim -On file1 file2 … filen

Ctrl + w h
将当前光标定位到左边的屏幕

Ctrl + w l

将当前的光标定位到右边的屏幕

Ctrl + w H

将当前的分屏移动到左边

Ctrl + w L

将当前的分屏移动到右边

上下分屏:

vim -on file1 file2 … filen

Ctrl + w j

将当前的光标移动到下面的分屏

Ctrl + w k

将当前光标移动到上面的分屏

Ctrl + w J

将当前的分屏移动到下面的分屏

Ctrl + w K

将当前的分屏移动到上面的分屏

关闭分屏

Ctrl + w c

上面这个命令是关闭当前的分屏

Ctrl + w q

上面的这个命令也是关闭当前的分屏,如果是最后一个分屏将会退出 VIM 。

注意:以上内容来源精通 VIM ,此文就够了,为便于查阅摘录于此,想要详细内容请看原文

<think>好的,我现在需要处理用户关于Vim编辑器常用命令及用法的查询。首先,根据用户的系统级指令,我需要确保回答符合格式要求,比如行内数学表达式用$...$,不过这里可能用不上数学公式,但要注意其他格式。用户要求生成相关问题,并且回答要结构清晰,分步骤说明,保证真实可靠。 用户提供的引用有三个来源,都是关于Vim编辑器的不同方面。我需要将这些引用内容整合到回答中,并在适当的位置添加引用标识。例如,引用[1]提到Vim的四种模式,引用[2]涉及模式切换常用命令,引用[3]则包含更多命令代码段移动的方法。 首先,回答结构需要清晰。可能需要分几个部分,比如Vim的四种模式、常用命令、代码块操作等。每个部分下详细说明命令及其用法,同时引用对应的来源。例如,在介绍四种模式时,引用[1][2]的内容,说明命令模式插入模式的切换方法。 然后,要确保命令的正确性。例如,保存退出是:wq,替换命令是:s/old/new/g,这些都需要准确无误。引用[3]提到的代码段移动可以使用<<>>,或者结合可视模式,这部分也要正确反映。 接下来生成相关问题。根据用户示例中的问题,可能需要围绕Vim的模式、高级功能、插件、配置、搜索替换、退出方式等方面提问。例如,如何在不同模式间切换,或者如何配置Vim插件。 最后检查是否符合所有要求:使用中文,引用标识自然,结构清晰,没有使用Markdown格式,代码块用三个反引号包裹,正确引用来源。确保没有遗漏任何用户提供的引用内容,并且问题与Vim相关,能够帮助用户进一步学习。</think>### Vim编辑器常用命令及用法 #### 一、Vim的四种模式 1. **普通模式(Normal Mode)** 启动Vim后的默认模式,用于导航命令操作。按`ESC`可返回此模式[^1][^2]。 2. **插入模式(Insert Mode)** 按`i`(插入)或`a`(追加)进入,可编辑文本[^1][^2]。 3. **可视模式(Visual Mode)** 按`v`进入,用于选择文本块。支持行选择(`V`)块选择(`Ctrl+v`)[^2][^3]。 4. **命令模式(Command Mode)** 按`:`进入,执行保存、退出等命令。 --- #### 二、常用命令速查表 **1. 文件操作** - 保存文件:`:w` - 退出Vim:`:q` - 强制退出(不保存):`:q!` - 保存并退出:`:wq` **2. 光标移动** - 行内移动:`h`(左)、`j`(下)、`k`(上)、`l`(右) - 跳转到行首/行尾:`0` / `$` - 翻页:`Ctrl+f`(下一页)、`Ctrl+b`(上一页) **3. 文本编辑** - 删除字符:`x` - 删除整行:`dd` - 复制行:`yy` - 粘贴:`p`(光标后)、`P`(光标前) - 撤销/重做:`u` / `Ctrl+r`[^2] **4. 搜索与替换** - 搜索文本:`/keyword`(按`n`跳转到下一个结果) - 替换当前行内容:`:s/old/new/g` - 全局替换:`:%s/old/new/g`[^3] **5. 代码块操作** - 缩进代码块:选中后按`>`或`<` - 多行缩进:`5>>`(向右缩进5行) - 代码折叠:`zf`(创建折叠),`zo`/`zc`(展开/关闭折叠) --- #### 三、进阶技巧示例 ```vim " 分屏操作 :split " 水平分屏 :vsplit " 垂直分屏 Ctrl+w+w " 切换分屏 " 宏录制 qa " 开始录制宏(保存到寄存器a) q " 结束录制 @a " 执行宏 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值