Vim的光标是经常使用的功能。常见的光标定位有鼠标移动,操控上下左右键盘,除了这些还有更多的光标定位方法。...shift + 4 光标移至行首 大写I 光标移至行首并插入模式 0 光标移至行尾 大写A 光标移至行尾并插入模式 gg或[[ 光标移至文件开头 大写G或]] 光标移至文件结尾 数字 + gg 光标移至指定行
问题描述 内核调试中最常见的一个问题是:内核Panic后,如何快速定位到出错的代码行? 就是这样一个常见的问题,面试过的大部分同学都未能很好地回答,这里希望能够做很彻底地解答。...那么有了地址以后,就可以定位到该地址落在哪个函数的区间内,然后找到该函数,进而通过计算偏移,定位到代码行。...先通过函数名定位到所在函数,然后通过偏移定位到代码行。 相应的工具有addr2line, gdb, objdump等,这几个工具在How to read a Linux kernel panic?...所以如果要调试代码,必须确保调试符号已经编译到内核中,不然,回调里头打印的是一堆地址,根本看不到符号,那么对于上面提到的情况二而言,将无法准确定位问题。...0x0019594c mm/backing-dev.c:335 然后用vim就可以直接找到代码出错的位置: $ vim mm/backing-dev.c +335 如果是情况二,可以先通过nm获取到当前的
一、引言Vim 是在 Linux 系统中广泛使用的强大文本编辑器。无论您是系统管理员、开发者还是普通用户,掌握 Vim 的基本操作和高级技巧都能极大地提高工作效率。...二、Vim 的基本概念三种模式:命令模式、插入模式和底行模式。在命令模式下,可以进行移动光标、删除、复制、粘贴等操作。插入模式用于输入文本。底行模式用于执行保存、退出、查找替换等命令。...启动 Vim:在终端输入 vim 文件名 即可打开指定文件。三、常用命令移动光标:h(左)、j(下)、k(上)、l(右)。...进入插入模式:i(在当前位置插入)、a(在当前位置之后插入)、o(在当前行下方新开一行插入)。删除字符:x(删除当前字符)、dd(删除当前行)。四、复制与粘贴复制:yy(复制当前行)。...七、总结通过本文的介绍,您已经对 Vim 有了较为全面的了解。不断练习,您将能更加熟练地运用 Vim 完成各种文本编辑任务。
正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 插入模式(Insert mode...:5l,56l 按[gg]:进入到文本开始 按[shift+g]:进入文本末端 按[#shift+g]:进入第#行 按「ctrl」+「b」:屏幕往“后”移动一页 按「ctrl」+「f」:屏幕往“前”移动一页...「#yw」:复制#个字到缓冲区 「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。 「p」:将缓冲区内的字符贴到光标所在位置。...「ctrl + r」: 撤销的恢复 更改 「cw」:更改光标所在处的字到字尾处 「c#w」:例如,「c3w」表示更改3个字 跳至指定的行 「ctrl」+「g」列出光标所在行的行号。...对于 formatoptions: c 自动将注释的样式延续到新的一行。 r 在按下回车键时自动复制上一行的注释样式。 o 在新行使用 O 或 o 命令时自动复制注释。
dnG n为数字,删除光标所在行到第n行 dG 删除光标所在行到最后一行 0G 删除光标所在位置到该行第一个字符 yy 复制光标所在行 nyy n为数字,复制光标所在的向下n行 ynG n为数字,复制光标所在行到第...n行 yG 复制光标所在行到最后一行 y0 复制光标所在字符到该行行首 y$ 复制光标所在行到该行行尾 p 将复制的数据粘贴在光标下一行 P 将复制的数据粘贴在光标上一行 J 将光标所在行与下一行的数据合并成一行...x为任意字符删除光标到下一个x字符之间的文本,并进入编辑状态 cFx x为任意字符删除光标到上一个x字符之间的文本,并进入编辑状态 cnG n为数字,删除光标所在行到第n行,并进入编辑状态 cG 删除光标所在行到末行...command 暂时离开vim查看command的执行结果 2.4 区块选择 命令 说明 v 字符选择,选择光标经过的字符 V 行选择,选择光标经过的行 + v 区块选择,选择光标经过的区块...4. vim配置文件 vim配置文件包括~/.vimrc,~/.viminfo ~/.vimrc为vim参数设置 ~/.viminfo为用户在vim中的操作记录 可以在一般模式种进行设置 命令 说明 :
不过在此之前,请注意文中涉及到的所有的例子、命令、指令均是在 Ubuntu 14.04,Vim 7.4 下测试的。...例如,如果你想要搜索的单词是 linux,下图显示的就是在 Vim 窗口底部的搜索命令: 敲击回车键之后,你会看到 Vim 会将光标停留在从光标在插入模式中的位置开始,找到的包含此单词的第一行。...如果你刚刚打开一个文件并且立即开始了搜索操作,搜索将从文件的首行开始。 如果想要移动到下一处包含被搜索单词位置,按 n 键。...这里有个视频,你可以看看: 下一个,只要你想要,你可以获得所有被搜索单词或模式匹配处所在的行和行号的一个列表。这可以在你开始搜索后通过按 [I 来实现。...这个在光标下的单词不仅仅会被拷贝,也会被复制到 / 后,允许你对它进行修改并且继续进行搜索操作。
1.vim底行命令模式 1.64至74行首插入"#": 64, 74 s/^/#/g 64 #[Running] python -u "\Py\deco_1.py" 65 #enter deco3...3 result + 3:11 72 #exit wrapper_2 result + 1:12 73 #exit wrapper_1 result * 2:24 74 #24 1.64至74行首删除
一般进行编辑工作,不管是使用Word,记事本,写PPT,对于文本的操作无外乎这么几种操作 移动光标到指定位置 输入 删除 替换(删除 + 输入) 而vim之所以高效就是将这几个部分分解为几个模式,不同的模式针对这些场景进行了一些优化...一般来说普通的编辑器移动光标的方式都是通过手去移动鼠标,通过鼠标来定位到光标要移动的位置,这么做并不高效。...w: 向后移动一个单词 e: 移动光标到单词尾部 ^: 移动光标到行首第一个非空字符处 $: 移动光标到行末最后一个非空字符处 gg: 移动光标至文件首行的首个非空格字节 G: 移动光标至整个文本最后一行的首个非空格字节...() %: 移动光标到匹配括号的另一端 0: 移动光标至行首 说句题外话,vim 使用 h j k l 来代替 ← ↓ ↑ → 主要是因为当年创建 vi 的时候键盘张这样 如果仅仅使用上述介绍的内容进行移动光标...举几个例子 5dd 删除5行 4>> 将4行代码进行缩进 2cc 更改接下来的两行,并进入插入模式 最后的总结 本篇到这里就结束了,最后做一下总结,我们提到几个公式 motion = [数字] + 移动光标
目录 Linux 软件包管理器 yum 什么是软件包 查看软件包 如何安装软件 如何卸载软件 软件源编辑 关于 rzsz Linux编辑器-vim使用 vim的基本概念 vim的基本操作 vim...正常模式命令集 vim末行模式命令集 总结 编辑 其他操作 快速退出 批量注释及注释删除 sudo 配置 Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码...Linux编辑器-vim使用 vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。...「#yw」:复制#个字到缓冲区 「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。 「p」:将缓冲区内的字符贴到光标所在位置。...「ctrl + r」: 撤销的恢复 更改 「cw」:更改光标所在处的字到字尾处 「c#w」:例如,「c3w」表示更改3个字 跳至指定的行 「ctrl」+「g」列出光标所在行的行号。
生信技能树学习笔记Vim编辑器——三种模式命令模式 末行模式 编辑模式图片命令模式vim Data/example.fq## 按 : set nu 显示行号## 方向键或hjkl移动光标## 30j:向下移动...30行## ctrl + f或b:上下翻页## gg或G移到顶部或底部 或者 [[ 和 ]]## x剪切一个字符## 10x:剪切10个字符## dd:剪切所在行## 10dd: 剪切所在行及下方10行...保存并强制退出# set系列命令## :set nu 显示行号## :set nonu 取消行号## :set list 显示不可见字符(分辨制表符与空格)## :set nowrap 显示在一行 类似...将文件格式转换为unix# 查询## 输入/keyword进行查询 n/N 向上或向下#替换## :%s///g 全局替换## :s///g 替换光标所在行## :s/// 只替换光标所在行的第一次vim...的异常情况图片当多处编辑或异常断开时会有待处理的.swp文件如果修改不重要可以直接删除.swp文件Vim编辑器:vimtutor zh_CN查看帮助文档
[TOC] 前言介绍 Vim(Visual Interface|可视化接口),在linux中常常使用的工具,是进行Linux嵌入式编程的必备工具之一; vim最大的贡献就是它的按键系统这也是为什么chrome...、idea、atom等编辑器都会提供一个vim mode; 首先我来简单说为什么要学习Vi或Vim(Vi Imporved)主要我有以下三点: vi是很多Linux系统预装的,也就是说你到服务器上面不用担心没有的问题...#参数 +行数 #打开文件跳入到指定行 +/字符串 #定位到字符串首次出现的行 -o,-O #打开多个文件小写o表示垂直并列,大写O表示水平并排 基础示例1: #示例1:外部shell参数 vim...# 定位到尾行 vim +3 abc # 定位到第三行,其他数字依次,如果超过文件最大行数,则光标定位到尾行 vim +/字符xxx abc # 定位到xxx首次出现的行,通过按N(向上)...^ 同上 $ 将光标定位到行尾的位置 b 将光标定位到光标所在单词的起始处 e 将光标定位到光标所在单词的结尾处 w 将光标定位到下一个单词的起始处(注意,是光标所在单词的下一个单词噢^_^) gg
vim有12个粘贴板 ”代表全局粘贴板 :reg 查看粘贴板 “Np 粘贴其中一个 :n,m co n 从第几行到第几行复制到第几行后 :n,m m n...从第几行到第几行移动第几行后 :n,m d 从第几行到第几行删除 :n,m w filename 从第几行到第几行保存文件 :sav filename 文件另存为 :r filename
(PS:若不配置,也可以直接通过栈来分析函数调用过程,在下章会分析到:http://www.cnblogs.com/lifexy/p/8011966.html) 2.2而有些内核的环境不同,opps也可能不会打印出上面的...kallsyms.txt里,找到pc值bf000078位于26th_segmentfault驱动里first_drv_open()函数下的bf000000+0x78中 2.5然后将驱动生成反汇编: arm-linux-objdump...而0x56000050是个物理地址,在linux眼中便是个非法地址,所以出错 并找到出错地方位于first_drv_open ()函数下: 3.若发生错误的驱动位于内核的地址值时 3.1还是以26th_segmentfault.c...为例,首先加入内核: #cp 26th_segmentfault.c /linux-2.6.22.6/drivers/char/ //将有问题的驱动复制到字符驱动目录下 #vi Makefile... //y:将该驱动放入内核中 3.2然后make uImage装载新内核后,再运行测试程序,便会打印出opps信息 3.3在内核源码的根目录下通过: # arm-none-linux-gnueabi-objdump
的区别图片Linux的优势合法升级到最新版本却不需要花一分钱。...从etc的data block中找到passwd的inode,查看权限,读取passwd内容VI / VIM编辑器VI / VIM是什么VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器...VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。...可以使用以下按键:字符按键以及Shift组合,输入字符ENTER,回车键,换行BACK SPACE,退格键,删除光标前一个字符DEL,删除键,删除光标后一个字符方向键,在文本中移动光标HOME/END,移动光标到行首...3个中的任何一个按钮,就可以将光标移动到最底下那一行。
使用vim命令打开一个文件: 例如,打开openwrt系统下的system配置文件 vim /etc/config/system 内容如下: config system option...—- 放弃所有修改,从上次保存文件开始再编辑命令历史 如果是非正常关闭编辑器 再次vim该文件的时候会出现以下情形: E325: ATTENTION Found a swap file by the...If this is the case, use ":recover" or "vim -r system" to recover the changes (see ":help recovery...12288 Apr 25 06:33 .system.swp 然后使用rm -rf删除该文件 root@OpenWrt:/etc/config# rm -rf .system.swp 再次vim
行内查找字符串 vim操作的效率很大程度上取决于移动光标的效率,平时在修改代码的时候很大程度上都是需要在特定位置修改,下面介绍到的操作很大程度上能提高我们移动光标和修改的效率 行内查找字符使用 f{char...H 移动光标到窗口首行 M 移动光标到窗口中间 L 移动光标到窗口尾行 gg 移动光标至第一行 G 移动光标到最后一行 要演示这几个操作光靠一屏就可以显示完的简短的文本是不行的,这里我采用 ~/.bashrc...小伙伴可以随便打开一个系统的配置文件,只要它超过一屏就行 假设光标在文件最后一行,使用H 将光标移动到窗口首行 假设光标在文件最后一行,使用 M 移动光标到窗口中间 假设光标在文件第一行,...使用 L 移动光标到窗口末尾 假设光标在文件的第一行,使用 G 移动光标到最后一行 后面的 gg 也就不演示了,从上面这些演示来看不难发现窗口和文件不是同一个东西,在窗口中跳转只能在文件的部分区域间进行跳转...这就涉及到vim中一个非常重要的概念——文本对象 还记得最开始我们说过,vim将文本分为 字符、单词、句子、段落嘛,这可不是为了方便而人为划分的,而是vim在处理文本的时候就是真么做的。
VIM的用法 1.vim 路径 用vim打开文件 vim +数字 路径 打开文件工标移动到第几行 vim +/关键字 路径 打开文件,高亮显示关键字 vim 路径1 路径2 打开多个文件...光标移动到行首 shift + 6 行尾 shift + 4 移动到首行 gg 末行 G 向上翻页 ctrl +b 向下翻页 ctrl + f 复制 按yy在需要的地方按p...剪切 dd删除后下一行上移 D删除后会空行 撤销u ctrl + r 恢复之前的撤销 数字+G 移动到这一行 :w保存 :w路径 另存为 :q退出 :wq 保存并退出 :...强制退出 /关键词 搜索 打开多文件是,切换文件 :open 文件名 编辑模式 进入: i在光标所在字符前开始 a在字符后开始 o还光标所在行的下面另起一行开始 I在光标所在行首...A行尾 O上面另起一行 S删除光标所在行 退出esc vim计算器 ctrl + R 输入= 输入需要计算的内容,最后回车
Linux编辑器vim 什么是vim vim的三种常用模式 vim的基本操作 命令模式 插入模式 底行模式 搭配vim环境 sudo怎么才能让普通用户使用 什么是vim vim是linux下一款功能强大...但是我们发现插入模式下无法用上面的方式退出,这个时候其实要先按esc退出插入模式,到命令模式。 那么如果你到了底行模式不想退出怎么办呢?也同样按esc就能回到命令模式。...,但是在linux机器上只需要一行命令即可,并且还不容易出错。...光标定位 刚打开vim时,光标是在第一行第一个的位置,想要移动光标鼠标是不可以的。 那么我想移动光标怎么办? 这时候用键盘上最右边下面的上下左右箭头就可以移动光标了。...那么如果你想在vim的底行模式下执行linux的命令怎么办呢?这里在前面加上一个 ! 就可以了。
这个是在网上找的一张关于vim键盘的图 1. 前言 vim是Linux编辑器,功能上和记事本没有区别。不仅仅可以用来写c语言和c++,其它语言也可以在上面写。...: 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 插入模式(Insert...要查看你的所有模式:打开vim,底行模式直接输入 3. vim的基本操作 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面: vim a.txt 不过有一点要特别注意,就是你进入...4.1.1 光标定位 shift+4=$:将光标的位置定位到当前行的结尾 shift+6=^:将光标的位置定位到当前行的开始 gg:将光标定位到整个文本的最开头 shift+g=...G:将光标定位到整个文本的最后一行 n+shift+g=G:将光标定位到整个文本的任意一行 举个例子:10+shift+g,定位到第10行 h,j,k,l:左,下,上,右,也可以带n。
看,gdb直接就告诉你在哪个文件、哪一行了。 ... 2, 没有自己编译的vmlinux: TIPS 如果在lkml或bugzilla上看到一个Oops,而自己不能重现,那就只能反汇编以"Code:"开始的行。...这样可以尝试定位到 源代码中。 注意,Oops中的Code:行,会把导致Oops的第一条指令,也就是EIP的值的第一个字节, 用尖括号括起来。...array); *(int *)0 = 0; } e.g. /*{{{*/ /* 注意, array一共有从array[0]到array...This GDB was configured as "x86_64-redhat-linux-gnu"...
领取专属 10元无门槛券
手把手带您无忧上云