linux笔记(三)————vim;输入输出

本文详细介绍Vim编辑器的功能,包括命令模式、插入模式和退出模式的操作,以及字符管理、可视化模式、文件编辑和光标移动等高级技巧。同时,文章还提供了Vim配置参数的设置方法和异常退出的解决方案。

vim

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。vim是自由软件。

1.命令模式

浏览文件,临时更改vim的工作方式,对字符批量处理

2.插入模式

对文件内容进行编辑

3.退出模式

正确安全退出vim程序

一、命令模式

1.vim帮助

方法1:
vim :help
在这里插入图片描述

方法2
vimtutor

在这里插入图片描述

2.vim工作参数设定

#临时设定
:set 参数信息
:set nu ##每行加序号
在这里插入图片描述
:set nonu ##取消每行序号
:set mouse=a ##切换鼠标操作
:set cursorline ##光标所在行加下划线
在这里插入图片描述
注意:
以上设定方式在vim退出后会还原默认

#永久设定
vim /etc/vimrc
set nu
set mouse=a
set cursorline
注意:
以上操作必须用root用户才能完成
在这里插入图片描述

#3.字符管理

y ##复制
yl ##复制一个字母
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制1行
y3y ##复制3行

c ##剪切
cl ##剪切1个字母
c3l ##剪切3个字母
cw ##剪切1个单词
c3w ##剪切3个单词
cc ##剪切1行
c3c ##剪切3行
注意:
当用c做剪切动作后,vim会进入插入模式
如果需要粘贴那么要按退出插入模式
然后按

粘贴

d ##删除
dl ##删除一个字母
d3l ##删除3个字母
dw ##删除1个单词
d3w ##删除3个单词
dd ##删除一行
d3d ##删除3行

p ##粘贴
u ##撤销
ctrl+r ##恢复

#4.vim的可视化模式
ctrl+v ##进入可视化模式
在这里插入图片描述
#可视化模式的批量添加
ctrl+v 进入可视化模式
选中要添加字符所在列
按"I"进入插入模式
写入字符
按批量添加字符出现
在这里插入图片描述

#5.字符的替换

:%s/源字符/替换后字符 ##每一行出现的第一个关键字
在这里插入图片描述
:%s/源字符/替换后字符/g ##全文替换,s所有行,g表示所有列
:3,5s/源字符/替换后字符/g ##替换第三行到第五行的关键字
:/lp/,/halt/s/sbin/hello/g ##替换lp字符和halt字符之间的所有关键字

#6.在vim中编写多个文件

vim file
:sp file1 ##同时编辑当前文件和file1
ctrl+w w ##切换窗口
ctrl+w s ##上下分屏
ctrl+w v ##左右分屏
ctrl+w c ##关闭光标所在屏幕
ctrl+w 上|下|左|右 ###光标在窗口之间的移动
先按ctrl+w,松开,再按其他键
在这里插入图片描述

#7.光标移动及字符搜索

#光标的移动
:数字 ##光标移动到指定的行
< HOME > ##光标移动到行首
< END > ##光标移动到行尾
G ##光标移动到最后一行
gg ##光标移动到第一行

#搜索字符
/关键字
n #向下匹配
N #向上匹配

二、插入模式

i ##光标所在位置插入
I ##光标所在行的行首插入
A ##光标所在行行尾插入
a ##光标所在字符的下个字符插入
s ##删除光标所在字符插入
S ##删除光标所在行插入
o ##光标所在行的下一行插入
O ##光标所在行的上一行插入

三、退出模式

:q #退出,在打开文件后没有对文件做任何修改时可使用
:wq #退出保存,在对文件修改后并保存内容时使用
:q! #强制退出,在对文件做修改后要放弃修改时使用
:wq! #强制退出保存,在对属于自己的文件或你时root用户时使用

####vim异常退出######

当vim异常退出时会生成.file.swp文件

当再次打开此文件时会出现以下情况:
在这里插入图片描述

[O]pen Read-Only, (E)dit anyway, ( R )ecover,  (D)elete it,  (Q)uit,  (A)bort:
  只读打开    继续编辑  恢复数据   删除swap文件   退出   退出

无论按[O]  (E)  ( R )  (Q)  (A) 任何一个都不会删除.swp文件

那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除

vim恢复正常工作

linux中管理输入输出

#输出重定向

 >	##重定向正确输出
2>	##重定向错误输出
&	##重定向所有输出

"注意:重定向动作会覆盖源文件内容"

例子:
用student用户登陆系统
find /etc/ -name passwd **查看etc下的passwd文件 ##此命令在student用户下执行因为权限问题会报错

find /etc/ -name passwd > file
在这里插入图片描述
find /etc/ -name passwd 2> file
在这里插入图片描述
find /etc/ -name passwd &> file
在这里插入图片描述

#输出追加

"追加会把定向的输出放到原文件最后不会覆盖原文件"

 >>    ##追加正确
2>>    ##追加错误
&>>    ##追加所有

find /etc -name passwd >> file
find /etc -name passwd 2>> file.err
find /etc -name passwd &>> file.all
在这里插入图片描述

#输入管理

<<EOF
内容
EOF

cat > westos <<EOF
hello
westos
world
EOF

cat westos ##查看wesotos
hello
westos
world
在这里插入图片描述

###脚本修改开机密码
vim test.sh

    #!/bin/bash
    passwd <<EOF
    student
    2018lee
    2018lee
    EOF

sh test.sh ##运行test

“注意:重定向动作会覆盖源文件内容”#管道

| ##把第一条命令的正确输出变成第二条命令的输入;管道只允许正确输出通过
2>&1 ##将编号为2的错误输出转换成编号为1
tee ##将输出复制一份到指定位置

ls /bin | wc -l ##统计/bin中有多少文件

find /etc -name passwd 2>&1 | wc -l ##会看到19,因为编号为2的输出被“2>&1”转换为编号1

find /etc/ -name passwd 2>&1 | tee file |wc -l ##保存一份输出到file再统计行数
在这里插入图片描述

<think>好的,用户现在遇到的问题是Ubuntu安装vim时出现错误,需要解决方案。根据用户提供的引用信息,特别是引用[1]和引用[2],用户可能遇到了“Packagevimhas noinstallation candidate”的错误,或者安装过程中依赖问题。首先,我需要回忆常见的Ubuntu安装软件包出错的原因。最常见的是软件源列表配置不正确或者没有更新,导致无法找到包。用户提到引用[2]中的两种方法都没成功,比如找不到sources.list文件,或者执行其他步骤后依然失败。这可能意味着用户的软件源有问题,或者网络连接有问题。接下来,我应该考虑可能的解决步骤。第一步通常是更新软件包列表,使用sudo aptupdate。如果更新后依然找不到vim,可能需要检查软件源是否正确。用户可能使用的是旧版本的Ubuntu,或者软件源中没有包含vim的仓库。比如,某些最小化安装可能没有启用universe仓库。然后,用户可能尝试安装vim的不同变体,比如vim-gtk或vim-gnome,这些可能依赖不同的包。但根据引用[1],用户安装这些时也出错了。可能需要手动添加universe仓库,使用sudo add-apt-repositoryuniverse,然后再次更新。另外,引用[4]中提到使用aptitude安装依赖,aptitude在处理依赖关系时更灵活,可以尝试用它来安装vim。例如,sudo aptitudeinstall vim,然后按照提示解决依赖冲突。 如果以上方法都失败,可能需要考虑从源码编译安装,或者使用snap包安装vim。但用户可能希望用apt来管理,所以源码编译是最后的手段。 需要确保用户按照正确的步骤操作,比如先更新,再添加仓库,再安装。同时,检查是否有拼写错误,或者网络问题导致无法下载包。还有可能系统版本太旧,不再支持某些包,需要升级系统。最后,生成相关问题时要考虑用户可能遇到的后续问题,比如配置vim、解决其他安装错误,或者不同Ubuntu版本的差异。</think>### 解决方案:Ubuntu安装vim出错的原因及解决方法 #### 常见错误类型及原因分析 1. **软件源未更新或配置错误** - 错误示例:`Package 'vim' has no installation candidate` - 原因:系统未启用`universe`仓库或软件源列表未更新[^2][^4]。 2. **依赖冲突或缺失** - 错误示例:`Unable to correct dependencies, some packages cannot be installed` - 原因:其他软件包占用了vim的依赖版本[^4]。 --- #### 分步解决方法 **步骤1:更新软件源添加仓库** 1. 更新软件包列表: ```bash sudo apt update ``` 2. 启用`universe`仓库(适用于Ubuntu 16.04及以上): ```bash sudo add-apt-repository universe sudo apt update ``` **步骤2:尝试安装完整版vim** - 安装包含GUI支持的版本(推荐解决依赖问题): ```bash sudo apt install vim-gtk # 或 vim-gnome ``` - 仅安装基础版: ```bash sudo apt install vim ``` **步骤3:使用aptitude处理依赖冲突** 1. 安装`aptitude`工具: ```bash sudo apt install aptitude ``` 2. 通过交互式解决依赖问题: ```bash sudo aptitude install vim ``` - 根据提示选择降级或删除冲突包(按`n`或`y`确认操作)。 **步骤4:手动修复软件源(极端情况)** 1. 检查`/etc/apt/sources.list`文件是否存在: ```bash ls /etc/apt/sources.list ``` 2. 若文件丢失,从官方镜像恢复: ```bash echo "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe" | sudo tee /etc/apt/sources.list sudo apt update ``` --- #### 验证安装 ```bash vim --version # 检查输出是否包含"+clipboard"(支持系统剪贴板) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值