在ubuntu19.10的vim(version:8.1.1401)下写好程序要复制到主机里,发现复制不了。
问题所在
clipboard,xterm_clipboard都是“-”开头,不支持和系统的剪贴板交互:
root@ubuntu:/home/SDL_FFMPEG# vim --version | grep "clipboard"
**-clipboard** +jumplist +persistent_undo +vartabs
+eval +mouse_gpm +syntax **-xterm_clipboard**
安装vim-gtk:
root@ubuntu:/home//SDL_FFMPEG# apt install vim-gtk
重新查看:
root@ubuntu:/home/SDL_FFMPEG# vim --version | grep "clipboard"
**+clipboard** +jumplist +persistent_undo +vartabs
+eval +mouse_gpm +syntax **+xterm_clipboard**
现在支持剪贴板了,+clipboard,+xterm_clipboard。
复制vim里的内容
在正常模式下(一开始进入的时候),输入ggvG$,全选内容,再按下y。此时内容已经全部复制到剪贴板里了。
输入ggvG$后:
按下y,复制到剪贴板:
接下来在主机里只要右键黏贴即可:
#include <libavutil/log.h>
#include <libavformat/avformat.h>
int main(int argc, char **argv){
int ret=0;
AVIODirContext *context = NULL;
AVIODirEntry *entry = NULL;
av_log_set_level(AV_LOG_DEBUG);
// 1.打開目錄
ret = avio_open_dir(&context, "./", NULL);
if(ret <0){
av_log(NULL, AV_LOG_ERROR, "Can't open dir:%s\n",av_err2str(ret));
goto _End;
}
// 2.讀取目錄內容
while(1){
ret = avio_read_dir(context, &entry);
if(ret <0){
av_log(NULL, AV_LOG_ERROR, "Can't read dir:%s\n", av_err2str(ret));
goto _End;
}
if(!entry) //讀取到目錄的最後一項
break;
av_log(NULL, AV_LOG_INFO, "%ld %s\n",// 輸出目錄項內容
entry->size,
entry->name);
// 3.釋放目錄項空間,防止內存泄露
avio_free_directory_entry(&entry);
}
_End:
// 4.關閉目錄,防止內存泄露
avio_close_dir(&context);
return 0;
}