VIM学习

动词+名词
名词
h 前 j 下 k 上 l 后
w 下一个单词前
} 下一个段落
$ 行尾
动词
y 复制
d 删除
c 剪贴,进入插入模式
组合
y2h 向左复制两个字符 y2w 向右复制两个单词 y$复制到行尾 yy复制当前行 y2j从当前行复制两行,共计三行

​ d2h 向左删除两个字符 d2w 向右删除两个单词 d$ 删除到行尾部 dd 删除当前行 d2j删除三行

​ c2j 剪贴3行 cc 剪贴当前行

文本(光标要激活某些模式比如)
i+obj(内部文本)
a+ob(外部文本)

	<div>
		<h1>我是标题</h1>
		<p>我是段落一</p>
		<p>我是段落二</p>
	</div>

1.光标在h1的文字中间 dit 删除“我是标题”
2.光标在h1的文字中间dat 删除h1和内容
3.光标在div上 dit删除"div",留下了<>
4.光标在div上 dat 删除div及其内部的所有子元素
5.光标在div上 di<,删除<>里的所有内容,保留<>

看代码
文件跳转: gg文件开头 G 文件最后一行 nG跳转到某一行
滑动滚动条: ctr + e 向下滚动一行 ctr + d 向下滚动半屏 ctr + f 向下滚动一屏
           ctr + y 向上滚动一行 ctr + u 向上滚动半屏 ctr + b 向上滚动一屏
相对于窗格: H跳到屏幕的顶部,M跳到屏幕的中间 L跳到屏幕的最下
置顶: zt把当前行放在窗口的顶部 zz把当前行放到屏幕的中间


修改代码
当前行内的操作:
    0跳到当前行的第一个字符 ^当前行的第一个非0字符(或者0w)
    $当前行的结尾
    w向后一个单词
    b向前一个单词
    e向后一个单词的结尾
插入文本
    i在当前字符的前面插入
    a在当前的字符后面append
    s删除当前字符并在该位置插入
删除字符(在编辑模式下)
    ctr + h 删除一个字符
    ctr + w 删除一个单词
    ctr + u 删除一整行
删除行(预览模式)
    dd
搜索
    /向后搜索
    ?向前搜索
    n重复上次上一次搜索(向下)
    N向上
批量替换字符
    /let 找到匹配的字符 cw把当前单词(let)保存到寄存器中并进入编辑模式,输入const并退出编辑模式
    按n找到下一个匹配的字符,按.执行上一个操作


 const one = "1";
 const two = "2";
 const three = "3";
<script>
    function swap(arr, i, j) {
        const temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    function partArr(arr, left, right) {
        const pivot = arr[left];
        let index = left + 1;
        for (let i = index; i <= right; i++) {
            if (arr[i] < pivot) {
                swap(arr, i, index);
                index++;
            }
        }
        swap(arr, left, index - 1);
    }
    function partArr2(arr, left, right) {
        const pivot = arr[right];
        let index = left;
        for (let i = left; i < right; i++) {
            if (arr[i] < pivot) {
                swap(arr, i, index);
                index++;
            }
        }
        swap(arr, right, index);
    }
    function partArr3(arr, left, right) {
        const index = parseInt((left + right) / 2);
        const pivot = arr[index];
        let i = left;
        let j = right;
        while (i <= j) {
            // >= pivot
            while (arr[i] < pivot) {
                i++;
            }
            // <= pivot
            while (arr[j] > pivot) {
                j--;
            }
            if (i <= j) {
                swap(arr, i, j);
                i++;
                j--;
            }
        }
        return i;
    }
    const arr = [3, 2, 2]; //[6, 11, 3, 9, 8]; // [5, 3, 2, 6, 2]
    partArr3(arr, 0, arr.length - 1);
    console.log(arr);
</script>

https://www.imooc.com/learn/1129

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值