ubuntu仓库里面关于源码部分配置的好全啊,什么都有,ps:包括vim的各种插件居然也有人打包放到仓库里,真是方便。
1.首先查看一下本系统使用的内核版本号:
cat /proc/version
Linux version 4.4.0-66-generic (buildd@lgw01-28) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017
2.然后使用apt搜一下,看看有没有对应的最新版:apt search linux-source
linux-source/xenial-updates,xenial-updates,xenial-security,xenial-security 4.4.0.70.76 all
Linux kernel source with Ubuntu patcheslinux-source-4.4.0/xenial-updates,xenial-updates,xenial-security,xenial-security,now 4.4.0-70.91 all [installed] Linux kernel source for version 4.4.0 with Ubuntu patcheslinux-source-4.8.0/xenial-updates,xenial-updates 4.8.0-44.47~16.04.1 all Linux kernel source for version 4.8.0 with Ubuntu patches3.然后,安装即可,安装后到/usr/src目录查找。apt install linux-source-4.4.0
4.进入/usr/src/linux-source-4.4.0目录后,解压到自己的home目录(注意:压缩包自建好了文件夹,不用建新的了):
tar xjvf linux-source-4.4.0.tar.bz2 -C ~
5.安装ctags(其实安装的是:exuberant-ctags),方便查看该源代码:
apt install ctags
6."--ctags setting--
" 按下F5重新生成tag文件,并更新taglistmap <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>set tags=tagsset tags+=./tags "add current directory's generated tags fileset tags+=~/arm/linux-2.6.24.7/tags "add new tags file(刚刚生成tags的路径,在ctags -R 生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)set tags+=./tags表示在当前工作目录下搜索tags文件set tags+=~/arm/linux-2.6.24.7/tags表示在搜寻tags文件的时候,也要搜寻~/arm/linux-2.6.24.7/文件夹下的tags文件。然后保存并退出vi。这样,你就可以用vim在任意地方查看有关Linux的函数原形。7.tag命令用法:
Ctrl+] 跳到当前光标下单词的标签Ctrl+O 返回上一个标签Ctrl+T 返回上一个标签:tag TagName 跳到TagName标签以上命令是在当前窗口显示标签,当前窗口的文件替代为包标签的文件,当前窗口光标跳到标签位置。如果不希望在当前窗口显示标签,可以使用以下命令::stag TagName 新窗口显示TagName标签,光标跳到标签处Ctrl+W + ] 新窗口显示当前光标下单词的标签,光标跳到标签处当一个标签有多个匹配项时(函数 (或类中的方法) 被多次定义),":tags" 命令会跳转到第一处。如果在当前文件中存在匹配,那它将会被首先使用。可以用这些命令在各匹配的标签间移动::tfirst 到第一个匹配:[count]tprevious 向前 [count] 个匹配:[count]tnext 向后 [count] 个匹配:tlast 到最后一个匹配或者使用以下命令选择要跳转到哪一个:tselect TagName输入以上命令后,vim会为你展示一个选择列表。然后你可以输入要跳转到的匹配代号 (在第一列)。其它列的信息可以让你知道标签在何处被定义过。以下命令将在预览窗口显示标签:ptag TagName 预览窗口显示TagName标签,光标跳到标签处Ctrl+W + } 预览窗口显示当前光标下单词的标签,光标跳到标签处:pclose 关闭预览窗口:pedit file.h 在预览窗口中编辑文件file.h(在编辑头文件时很有用):psearch atoi 查找当前文件和任何包含文件中的单词并在预览窗口中显示匹配,在使用没有标签文件的库函数时十分有用。 最简单的使用方法举例用vi在任意目录写一个Test.c文件,内容如下:int main(void){ printf("Hello World!\n");return 0;}写好后末行模式输入w保存好(不要退出vi),按Esc回到指令模式,把光标停留在printf上然后按 Ctrl+W + ],vi会自动跳到Linux系统函数printf()处,这时我们能查看printf()的原形查看完了,按Ctrl+o(回到上一个标签) 就回到原来的地方。