oeasy教您玩转vim - 28 - 水平移动
水平移动
回忆上节课内容
- 根据扩展名我们可以设置某些特定类型文件的配置
- 相关文件类型的设置放在相应的文件夹里
文件类型缩进文件夹
/usr/share/vim/vim81/indent/
文件类型语法高亮文件夹
/usr/share/vim/vim81/syntax/
文件类型插件文件夹
系统通用文件夹
/usr/share/vim/vim81/ftplugin/java.vim/usr/share/vim/vim81/ftplugin/java_xxx.vim/usr/share/vim/vim81/ftplugin/java/xxx.vim
用户专用插件文件夹
~/.vim/ftplugin/java.vim~/.vim/ftplugin/java_def.vim~/.vim/ftplugin/java/header.vim
在 文件夹
~/.vim/ftplugin中 的html.vim的设置- 只针对
html - 包括文件的缩进、配色、语法高亮、行号、状态栏等
- 只针对
:filetype indent on文件类型缩进生效:filetype syntax on文件类型语法高亮生效:filetype plugin on文件类型插件生效

素材文件
首先我们打开一个绕口令
git clone http://github.com/overmind1980/vimtutorial.gitvi -u NONE raokouling.txt- 打开绕口令
- 需要单行的长度超过 80 个字符
设置不换行
:set nowrap
设置状态条
:set statesline=%f-[%l,%c]:set laststatus=2
把模式设置为非兼容
:set nocompatible

横向滚动
- 一路l 到屏幕的尽头
- 到 [1,80] 时候再按下 l
- 整个屏幕发生横向滚动
- 然后光标移动到屏幕中心位置
- 光标坐标显示为 [1,81]
- 如果要回来的话也需要移动到左边缘
- 然后再按 h️
- 整个屏幕滚动回来了

- 反复横跳
横滚幅度
横滚的幅度可以通过
sidescroll来控制- 默认 0 是横向屏幕 80 字符的一半 40 字符
- 如果我设置为 10 的话
- 在最右边缘再向右的话,屏幕位置滚动 10 个字符
- 从 [1,80] 到 [1,81] 的时候发生
:h sidescroll

- 我们如果把
sidescroll变成 1,屏幕横滚就会很柔和 - 还是设置回10吧
- 反复横跳
横滚留位
- 每次我们的横滚都是在屏幕边缘发生的
- 能否到达边缘之前就能看见那边有什么?
:h sidescrolloff- 默认是 0,到边缘才滚动
- 如果我们设置为 20
- 到 [1,60] 的时候,距离有边缘有 20
- 这个时候 l️整个屏就会向右
滚动幅度 - 也就是
sidescroll所对应的10

- 把
sidescrolloff设置成 99,光标在横向总在中心位置
横滚屏快键

- 其实横向滚动我们用的比较少
- 但在一屏中滚动比较常见
屏内跳转

- 可以参照全屏跳转
前面加个 g
- g0 就是跳到屏幕第一个字符
- g^ 就是本屏幕内第一个非空字符
- gm 跳到屏幕中间
- gM 跳到整个文本中间
- g$ 跳到屏幕末尾
自动换行
- 如果一行太长了我们可以让他
:set wrap自动换行 :h wrap可以查看帮助手册:set nowrap可以取消自动换行

向上一行
- 我们一般用 j、k 上下移动
- 但是如果自动换行之后,这上下就不只是一行了
- 先把行号显示出来
:set nu - 我们可以通过 g j、g k 来自动换行的一行内上下移动
换行字符
- 我在行头句尾的时候
如果我想按方向键 h、l 换行
- 结果是有效的
如果我用 BackSpace
- 结果是有效的
- 但是有的机器上,却无效
- 为什么呢?
这是一个属性option
whichwrap
先看看这个东西现在的值
:set whichwrap?

把他设置回默认的值
:set whichwrap&&表示设置为默认值- 然后再观察现状

- b,s 是什么意思呢
选项细节
:h 'whichwrap'

默认只有两个
- b 是 <BackSpace> 退格
- s 是 <Space> 空格
- 理论上h、l 不好使
vi oeasy.java- 重新用vi打开
- h、l 好使
- 那他是在那里设置了 h、l 呢?
查找根源
vim ~/.vimrc
/whichwrap

总结
我们这次了解了横向滚动的相关信息
- 横滚幅度 -
sidescroll - 横滚留位 -
sidescrolloff - 自动换行 -
wrap
- 横滚幅度 -
- g j、g k 可以逐行上下移动
- 可以控制切换行的控制键
whichwrap - 这就是横向移动的内容
- 不过程序中一般一行不会超过80个字符
- 纵向移动更为普遍
- 纵向移动有什么好玩的吗?
- 下次再说
oeasy教您玩转vim - 28 - 水平移动的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- 自研WPF插件系统(沙箱运行及热插拔)
前言 插件化的需求主要源于对软件架构灵活性的追求,特别是在开发大型.复杂或需要不断更新的软件系统时,插件化可以提高软件系统的可扩展性.可定制性.隔离性.安全性.可维护性.模块化.易于升级和更新以及支持 ...
- HC32L110(六) AS06-VTB07H V5.0测试板AT指令固件
目录 HC32L110(一) HC32L110芯片介绍和Win10下的烧录 HC32L110(二) HC32L110在Ubuntu下的烧录 HC32L110(三) HC32L110的GCC工具链和VS ...
- java rgb转hsv
public static double[] toHSV(int r, int g, int b) { Color color = new Color(r, g, b); float[] hsv = ...
- centos7中输入ifconfig 没有IP地址
vmware安装的centos7中没有出现eth0网卡,也没有ip,不能上网,输入ifconfig后如下图 解决办法 1.编辑网卡的配置文件 vi /etc/sysconfig/network-scr ...
- Linux中根据关键字获取某一行的行号
[root@localhost ~]# cat test.txt 123213 ehualu.server ehualu.docker 10.0.0.10 ehualu.server ehualu.d ...
- UIView AutoLayout WrapContent,UIview 实现自动包裹
一.需求 实现一个UI组件,要求组件内部的内容变化的时候,内容需要同时产生变化 二.实现 效果: 一个三个元素的组件,两边固定大小,中间的Label内容会变化 实现的约束: 首先保证三个元素同时居中, ...
- FreeRTOS例程开发
环境配置 下载官方源码 https://www.freertos.org/ 找到这个,他就是visual studio示例demo,我们主要在这个的基础上修改 下载visio studio https ...
- Windows平台git clone文件路径太长报错
问题描述 在Windows下拉取一些比较大的开源项目经常会提示文件路径太长(filename too long),然后死活都不成功 解决办法 1.配置git git config --system c ...
- k8s——statefulset
statefulset基础模版 [root@master statefulset]# cat web.yaml --- apiVersion: v1 kind: Service metadata: n ...
- Java BigInteger类和BigDecimal()类
BigInteger类 BigInteger 支持任意精度的整数,可以准确的表达任何大小的整数而不丢失精准度 BigInteger 位于 java.math包中 BigInteger()括号里必须是字 ...