08_Linux基础-vim-tmux-字符编码

08_Linux基础-vim-tmux-字符编码

一. vim

文本编辑器-vim(编辑文本)

Windows:记事本、word、sublime、pycharm
能编辑音乐、视频、图片?答:不能,只能编辑文本

Linux:

  vi(==字符界面==),vim(==字符界面==),gedit(==图形化==)

unix 都会安装vi
vim 是vi的加强版(在vi基础上添加其他功能)

vim编辑器作用

vim编辑器作用:
1、编写脚本、程序
2、修改配置文件
3、做一些文本处理

vim模式

vim有三种最常用最基本的模式:命令模式、编辑模式(插入模式)、末行模式、可视模式,替换模式
vim有三种最常用最基本的模式:
命令模式
编辑模式
末行模式
还有另外两种不常用模式:
视图模式
替换模式

vim命令模式

命令模式:vim a / ESC

  ==无法编辑==,只允许删除、复制、粘贴、撤销等快捷操作,打开文件时==默认==进行此模式

yy 复制
p 粘贴
dd 删除
u 撤销
命令模式 相当于一个中间介
每个模式退出 都会回到命令模式,命令模式可以进入所有模式

vim编辑模式

编辑模式 ESC i
— 插入 —

  插入模式,进行==文本编辑==

操作键 功能

  ==:q==    如果未对文件做改动则==退出==

  ==:q!==   ==放弃保存==并==退出==

  ==:wq 保存==当前文件并==退出==

  ==:wq!    强制保存==当前文件并==退出==

  ==:x  保存==当前文件并==退出==

  ==:x! 强制保存==当前文件并==退出==

  ==ZZ  保存==当前文件并==退出==

vim视图模式

视图模式 ESC v、V、ctrl+v
— 可视 行 —

  选择特定的块文本,进行复制,修改等

小v:选择行指定的部分
大V:选择整个行
Ctrl + v :选择块 插入按I 退出模式进人命令模式(Esc),这个时候就全部加上

vim替换模式

替换模式 ESC R
— 替换 —
步骤:
v 小v 可视模式 visual —》选择一部分
y 按y复制
o 按o另起一行,进入插入模式
P 再按esc,再p,按p粘贴

课堂练习2
123 TEST 456 789
xxx TEST yyy zzz
操作类型 操作键 功能
光标方向移动 k,j,h,l 上、下、左、右
==============================================================
翻页 Page Down或Ctrl+F 向下翻动一整页内容

             Page Up或Ctrl+B      向==上==翻动一整页内容

==============================================================
行内快速跳转 Home键或”^”、数字”0″ 跳转至行首 (注:”^”尖符号)

                    End键或“$”键                    跳转到==行尾==

==============================================================
行间快速跳转
1G或者gg 跳转到文件的首行
G 跳转到文件的末尾行

G 跳转到文件中的第#行

(末行模式):40 跳转到40行
w 每个单词的首字母跳转
e 每个单词的尾字母跳转

vim设置

vim设置
(末行模式):set number 设置行数
(末行模式):set nonumber 取消设置
删除 (*注:一般^行首,$行尾)
x或d或Del 删除光标处的单个字符
dd 删除当前光标所在行

dd 删除从光标处开始的#行内容

d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
dw 删除一个单词(word),以空格、冒号等 符号
粘贴
小p 将缓冲区中的内容粘贴到光标位置处之后
大P 粘贴到光标位置处之前

文件内容查找

文件内容查找
操作键 功能
/word 从上而下在文件中查找字符串”word”
?word 从下而上在文件中查找字符串”word”
小n 定位下一个匹配的被查找字符串
大N 定位上一个匹配的被查找字符串
(注:/word 和 ?word 不同点:方向相反)

取消高亮、设置行数、取消行数设置

取消高亮 :noh
设置行数:set nu
取消:set nonu

二. vim-tmux及字符编码问题

文件内容替换
文件内容替换(末行模式)
命令 功能
😒 /old/new 将当前行中查找到的第一个字符”old”串替换为”new”
😒 /old/new/g 将当前行中查找到的所有字符串”old”替换为”new”
:#,# s/old/new/g 在行号”#,#”范围内替换所有的字符串”old”为”new”
:% s/old/new/g 在整个文件范围内替换所有的字符串”old”为”new” global
😒 /old/new/gc 在替换命令末尾加入c命令,将对每个替换动作提示用 户进行确认 Confirm
:%s/feng//g 将所有的feng删除
(注:😒/…/… 当前行 第一个str

    :s/…/…/g当前行 所有str

    :#,#s/…/…/g 行号#,# 所有str

    :%s/…/…/g 整个文档 所有str

    :s/…/…/gc 整个文档 所有str 确认提示

    :%s/…//g 整个文档 所有str 删除)

(注:s —— 替换

     :s  —— 当前行替换

    \#,#  —— 行号#到#

    %    —— 整个文档

    g    —— 所有字符串

    c    —— 确认提示

    :%s/…//g —— 整个文档 所有str 删除)

缓存:swp文件
编写文件时 1.txt
先把1.txt文件拷贝一份,拷贝成.1.txt.swp文件,真正编辑的是这个文件
保存时,会将.1.txt.swp覆盖1.txt
vim 2.txt
:r 1.txt
(注:读入1.txt文件的内容。在当前光标下一行插入1.txt文件内容)
===========================================================================================
撤销和另存为 :w
命令 功能
:w /tmp/hello.txt 把当前文件另存为/tmp目录下的hello.txt
===========================================================================================
例:
vim 1.txt
:w /root/cp/test.txt
(注:将文件1.txt另存为在/root/cp/目录下,改名为test.txt)

vim的配置(3种)
第二种
全局配置文件:
vim /etc/vimrc
cp /etc/vimrc{,.bak} (注:效果等同于 # cp /etc/vimrc /etc/vimrc.bak)

                               (* 注↑:备份操作。修改全局配置文件前先备份。出错就回滚)

set number (注:设置行数)
set showcmd (注:显示当前键入命令)
set encoding=utf-8 (注:设置编码)
set tabstop=4 (注:设置tab键的空格数)
左右分屏:先按ctrl + b,然后再按shift+%号
上下分屏:先按ctrl + b, 然后再按shift+”
上下左右移动光标: ctrl + b,再按上下左右方向键
删除一个分割: 光标移动到那个分割屏幕,然后按ctrl +d
新增一个新的窗口(新增一页):ctrl+b,然后按c
返回上一页: ctrl+b 然后按p
返回下一页: ctrl+b 然后按n
查看当前保存的会话状态
[root@mysql-binary ~]# tmux ls
0: 2 windows (created Thu Oct 15 16:31:27 2020) [139×22]
1: 2 windows (created Thu Oct 15 16:45:40 2020) [139×22]
设置tmux,跟vim的末行模式很像:
按ctrl+b ,然后按:(这时窗口底部就会有黄色的杠)
设置同步: ctrl+b 然后按: 然后输入set synchronize-panes on

                                           取消同步==set synchronize-panes off==

tmux终端关闭,执行的程序会继续执行 (* tmux的好处)
tmux 终端关闭,不是tmux会话关闭。tmux 终端关闭,那之前执行的程序都会继续执行。
不使用tmux,默认情况下,终端关闭,执行的程序也会关闭。 测试如下
================================================================
测试:
编写脚本:
cat sleep.sh
echo “begin………..”
sleep 100
echo “end………….”
=======================
运行脚本
sh sleep.sh
begin………..

=======================
运行脚本:(放到后台运行)
sh sleep.sh &
=======================
查看进程有没有运行
ps -ef |grep sleep
root 13133 13112 0 17:12 pts/6 00:00:00 sh sleep.sh
root 13134 13133 0 17:12 pts/6 00:00:00 sleep 100
root 13190 13140 0 17:12 pts/16 00:00:00 grep –color=auto sleep
=======================
关闭终端之后再重新开启连接,查看进程有没有运行。
结果:没有运行
……

=======================
在tmux下 运行脚本
……

tmux关闭后 会话还在,程序还会一直运行
ps -ef |grep sleep
root 13278 13003 0 17:17 pts/13 00:00:00 sh sleep.sh
root 13279 13278 0 17:17 pts/13 00:00:00 sleep 100
root 13284 13140 0 17:17 pts/16 00:00:00 grep –color=auto sleep
=======================

编码

编码
编码:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
文件编码一般2种方式:ascii 和 unicode
UTF-8 是 Unicode 的实现方式之一
转编码:
iconv -f utf-8 -t gbk code_test.txt >code_test1.txt
ASCII 码 最多能表示256个字,不够用
unicode 万国码,每个字给你一个序号
UTF-8 是 Unicode 的实现方式之一,规定怎么存储在计算机。
(UTF-8对ascii码/英文码友好)
以什么编码方式存储,就要以什么编码方式解码
utf-8、utf-16
国内编码 gbk、gb2131
===============================================
系统语言设置环境:
locale
LANG=zh_CN.UTF-8
LC_CTYPE=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.UTF-8″
LC_PAPER=”zh_CN.UTF-8″
LC_NAME=”zh_CN.UTF-8″
LC_ADDRESS=”zh_CN.UTF-8″
LC_TELEPHONE=”zh_CN.UTF-8″
LC_MEASUREMENT=”zh_CN.UTF-8″
LC_IDENTIFICATION=”zh_CN.UTF-8″
LC_ALL=
===============================================
file code_test.txt 注:查看文件编码类型
locale 系统语言设置环境
file code_test1.txt 看文件编码方式
系统、文件、shell 三者统一 ,不会乱码
===============================================
上课代码操作:
mkdir vim_test
cd vim_test/
ls
rz -E (注:将windows code_test.txt文件上传linux)
rz waiting to receive.

ls
code_test.txt
vim code_test.txt
file code_test.txt (注:查看文件编码类型)
code_test.txt: UTF-8 Unicode text
iconv -f utf-8 -t gbk code_test.txt >code_test1.txt (注:转国标码)
file code_test1.txt
code_test1.txt: ISO-8859 text (注:国标码)
vim code_test1.txt (注:显示乱码)

为什么出现乱码?答:以utf-8的方式打开gbk编码
以什么编码方式存储,就要以什么编码方式解码

总结(xmind)

08_Linux基础-vim-tmux-字符编码
vim文本编辑器
vi,vim
vim常见模式
    命令模式
        文件打开默认就是命令模式
        ESC键到达
    编辑模式
        a,i,o,s(支持大写)
    末行模式
        :
    可视模式
        v
            选中文本指定部分
        V
            选择文本指定行
        ctrl+v
            选择文本指定块
    替换模式
        R
基本使用
    命令模式
        删除
            x 、d
            dd
            5dd
        复制
            yy
            3yy
        粘贴
            p
        撤销
            u
        查找
            /
        光标移动
            上下左右方向键(k,j,h,l)
            文件首
                gg
            文件尾
                G
            移动到特定行
                5G
                :5
            行首
                home键
                0
                ^
            行尾
                end键
                $
            上翻页
                page up, ctrl+b
            下翻页
                pagedowm, ctrl+f
    编辑模式
        i
        I
        o
        O
        a
        A
        s
        S
    可视模式
        复制y
        插入 I
    末行模式
        退出和保存
            q
            q!
            wq
            wq!
            x
            ZZ命令模式退出
        替换
            :s/old/new
            :s/old/new/g
            :%s/old/new
            :%s/old/new/g
            :3,5s/old/new/g
            :%s/old/new/gc
        设置
        文件操作
            :e  编辑新文件
            :r  导入文件内容
            :w  另存文件路径
            vim  1.txt 2.txt
                :n 编辑下一个
                :N 编辑上一个
vim常见快捷方式使用
    vim file1 file2 file3
    vim +10  file
    vim +/aa file
vim的配置
    临时配置
        末行模式
            :set nu
    全局配置
        /etc/vimrc
    用户配置
        ~/.vimrc
tmux
    tmux:
安装:yum install tmux
tmux:
一:敲tmux 进入会话
窗口底部有绿杠表示进入了tmux

左右分屏:先按ctrl + b ,然后再按shift+% 号
上下分屏:先按ctrl + b, 然后再按 shift+"
上下左右移动光标: ctrl + b 再按上下左右方向键
删除一个分割: 光标移动到那个分割屏幕,然后按ctrl +d
新增一个新的窗口(新增一页):  ctrl+b 然后按c
返回上一页: ctrl+b 然后按p
返回下一页: ctrl+b 然后按n

保存当前的tmux状态,并退出tmux:
使用: ctrl+b  然后按d

查看当前保存的会话状态
[root@mysql-binary ~]# tmux ls
0: 2 windows (created Thu Oct 15 16:31:27 2020) [139x22]
1: 2 windows (created Thu Oct 15 16:45:40 2020) [139x22]

进入第一个会话状态:
tmux a -t 0

设置tmux,跟vim的末行模式很像:
按ctrl+b ,然后按:  (这时窗口底部就会有黄色的杠)
设置同步:  ctrl+b 然后按:  然后输入set synchronize-panes on
                        取消同步set synchronize-panes off

tmux 终端关闭,不是tmux会话关闭。那之前执行的程序都会继续执行。
不使用tmux,默认情况下,终端关闭,执行的程序也会关闭。
文件编码
    iconv -f utf-8 -t gbk file.txt > file2.txt
    查看系统语言环境
        locale
    ascii
    unicode
        utf-8
        utf-16
        gbk
        gb2132

Original: https://www.cnblogs.com/mycpen/p/16650952.html
Author: mycpen
Title: 08_Linux基础-vim-tmux-字符编码

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578018/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球