Linux | Vim 鼠標不能右鍵粘貼、跨系統復制粘貼

注:本文為 “ Vim 中鼠標右鍵粘貼、跨系統復制粘貼問題解決方案” 相關文章合輯

未整理去重。


Linux 入門:vim 鼠標不能右鍵粘貼、跨系統復制粘貼

foryouslgme 發布時間 2016 - 09 - 28 10:24:16

Vim基礎

  1. 命令模式(command-mode)
  2. 插入模式(insert-mode)
  3. 可視模式(visual-mode)
  4. 正常模式(normal-mode) (普通模式)
  • 正常模式
    正常模式主要用來瀏覽和修改文本內容的,一般的,打開Vim都是正常模式。
    進入正常模式:在任何模式下,只要按下 Esc 鍵就可以返回正常模式
  • 插入模式
    插入模式則用來修改文本的
    進入插入模式:正常模式 + 插入符,如下插入符:

i 在光標所在字符前開始輸入文字并進入插入模式
a 在光標所在字符后開始輸入文字并進入插入模式
A 在行尾開始輸入文字并進入插入模式。
o (字母 o) 在光標所在行的下面單獨開一新行來輸入文字并進入插入模式
O (大寫字母 O) 在光標所在行的上面單獨開一新行來輸入文字并進入插入模式。
s 刪除光標所在的字符并進入插入模式
I 在行首開始輸入文字并進入插入模式。
S 刪除光標所在行并進入插入模式
G 文章末尾
crtl + f 向下翻頁
ctrl + b 向上翻頁

  • 可視模式
    可視模式相當于高亮選取文本后的普通模式,可視模式具有子模式,以行為單位進行選取的可視行模式,使用“V”鍵進入和以塊為單位進行選取的可視塊模式,使用“Ctrl+v”鍵進入。
    進入可視模式:正常模式 + ctrl + v|V
  • 命令模式
    命令模式則多用于操作文本文件(而不是操作文本文件的內容),例如保存文件;或者用來改變編輯器本身的狀態,例如設定多欄窗口、標簽或者退出編輯器……
    進入命令模式:按esc + : command
    如::w保存當前文件不退出,:q!強制退出,:x保存且退出

正題(不能右鍵粘貼設置方法)

用vim時,鼠標右鍵不能粘貼而是進入了visual模式,解決方法:

方法一:

:set mouse-=a
1

方法二:

編輯 ~/.vimrc 文件,加入如下代碼:

if has('mouse') set mouse-=a 
endif 
123

set mouse=a【這個是用來開啟鼠標功能的,a表示所有模式】

vi的三種模式:命令模式插入模式可視模式。鼠標可以啟動于各種模式中:

The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt

Normally you would enable the mouse in all four modes with:
:set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn’t move the text cursor.

所以配置文件中的set mouse=a啟動了所有模式,這樣就屏蔽了鼠標右健功能。

查看之前的復制內容

:reg

在這里插入圖片描述
>>>>>><<<<<<等和git中的修改記錄一樣。


Vim 配置#Vim 中使用鼠標功能

馬丁路德彬 發布時間 2017 - 02 - 10 11:53:47

1、簡介

近期使用 vim 時,發現 vim 也可使用鼠標,本章主要介紹如何啟用鼠標功能。

2、打開鼠標功能

在命令模式下輸入 :set mouse=a

3、關閉鼠標功能

在命令模式下輸入 :set mouse-=a

4、鼠標模式

‘mouse’ 的參數說明如下:

// n  普通模式
// v  可視模式
// i 插入模式
// c 命令行模式
// h 在幫助文件里,以上所有模式
// a 以上所有模式
// r 跳過|lit - enter|提示
// A 在可是模式下自動選擇

'mouse' 的缺省值為空,即默認不使用鼠標。通常可使用 :set mouse=a 來啟用鼠標(此設置等價于將 'mouse' 設為 “nvich”)。若只想在某些模式或特定任務中使用鼠標,需關注對應模式的字母,例如:

  • :set mouse=nv:使鼠標在普通模式和可視模式下可用。
  • :set mouse=h:使鼠標僅在幫助文件中可用(可通過 “g” 實現標簽跳轉)。

鼠標能否在可視模式或選擇模式下開始選擇,取決于 “selectmode” 選項是否包含 “mouse”。

5、解決鼠標模式右鍵不能粘貼問題

在設置了 'mouse' 選項(見上文)的情況下,使用鼠標和可視模式進行復制/粘貼的步驟如下:

  1. 在文本的第一個字符上按鼠標左鍵,移動鼠標到文本的最后一個字母,然后釋放左鍵。這將啟動可視模式并高亮選擇區域。
  2. 按 “y” 將可視文本抽出到無名寄存器中。
  3. 在要插入的位置上按鼠標左鍵。
  4. 按鼠標中鍵(滾輪)進行粘貼。

解決配置 vim 之后不能鼠標右鍵復制問題

路安在 發布時間:2022 - 05 - 21 12:31:30

問題描述

配置完 vim 后,無法使用鼠標右鍵進行復制和粘貼,但從 vim 外復制的內容可通過鼠標右鍵粘貼。

解決問題過程

起初,嘗試對 vimrc 文件中有關復制的命令進行注釋和刪除,但均未解決問題,CTRL + cctrl + v 也無法使用。
隨后,搜索瀏覽網上解答,部分回答稱選中需要復制的內容后按鍵盤上的 y 即可復制,但實際操作時,選中內容未復制成功且被 y 字母覆蓋。
最終,通過參考 https://blog.csdn.net/victoryckl/article/details/8122012 解決了問題。

解決方法

常規復制粘貼

  1. 先將光標置于要粘貼的位置或空白處。
  2. 找到要復制的語句,在鍵盤上一直按住 shift,再用鼠標左鍵選中,然后點擊鼠標滑輪,選中的語句或內容將直接粘貼到光標所在位置,無需使用 crtl + V

跨界面復制粘貼

  1. 在 Vim 界面中,直接找到需要復制的語句,先按住 shift,再用鼠標左鍵選中。
  2. 無需點擊鼠標滑輪。
  3. 切換到其他界面,通過鼠標右鍵進行粘貼。

總結

  • 復制:按住 shift,再用鼠標左鍵選中。
  • 粘貼:點擊鼠標滑輪,內容將直接粘貼到光標位置。

Vim 全局配置 / 設置鼠標模式

BrandonPei 發布時間 2023 - 12 - 03 15:10

在新安裝的 Linux(Debian)系統上,vim 一右擊粘貼就進入 insert(Visual)模式。經查詢,需設置 set mouse=,但每次設置較為麻煩,同時還想修改全局配色。

定位全局配置文件

有博客指出,在 /usr/share/vim/share/... 下有個 vimrc 文件,但不同系統或版本可能存在差異。一般先在 /usr/share/vim 目錄下查找,在此找到了 /usr/share/vim/vimrc 文件,文件末尾有如下幾行:

" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")source /etc/vim/vimrc.local
endif

由此可知,應修改 /etc/vim/vimrc.local 文件。分析為何設置 vimrc.local 而非直接修改原文件:vim 每次更新后可能修改默認配置,直接修改會在更新時產生沖突,而 local 表示本地配置,與上游 vim 配置無關。

最終在 /etc/vim/vimrc.local 文件中添加如下內容:

set mouse=
colorscheme slate

補充說明
經實測,在上述位置添加 set mouse= 不會生效。
參考

  • vim 設置 mouse 行為不生效 - 簡書
    https://www.jianshu.com/p/29744bae5f3d

可知,鼠標行為在 vimrc.local 之后加載。因此,有兩種解決方法:

  1. /etc/vim/vimrc.local 中添加 let skip_defaults_vim = 1

  2. 在要用的 root 用戶主目錄下創建 .vimrc 文件,但這樣會導致 root 用戶沒有代碼高亮。

    解決辦法是在 ~/.vimrc 中添加一句 source,即:

source $VIMRUNTIME/defaults.vim
set mouse=""

補充說明 2
考慮到鼠標模式較為有用,可設置快捷鍵以便快速切換鼠標和非鼠標模式。在 /etc/vim/vimrc.local 中添加以下代碼:

map <F9> <ESC>:call Mouse()<CR>function Mouse()if has('mouse')if &mouse=="":set mouse=a:echo "mouse enabled"else:set mouse="":echo "mouse disabled"endifelse:echo "no mouse"endif
endfunction

上述代碼中,map 命令將 F9 按鍵綁定到 <ESC>:call Mouse()<CR>。其中,ESC 用于應對已進入 Visual 模式的情況,先退出該模式,再執行函數;CR 表示換行,用于應用命令。函數中 &mouse 表示獲取 vim 中 mouse 選項的值。


vim 設置 mouse 行為不生效

sarto 屬地:陜西 發布時間 2021.04.01 10:00:56

vim 在 debina 下的運行環境

在 vim 中輸入 :echo $VIMRUNTIME,會顯示 /usr/share/vim/vim81,此為 debian vim 運行環境的路徑。

vim 中在 vimrc 中修改 mouse 不生效的問題

vimrc 中設置 vimrc-=a 未生效,經查找發現,/usr/share/vim/vim81/defaults.vim 中默認的鼠標行為影響了 vimrc 的配置。將該文件中如下代碼:

78 if has('mouse')
79   set mouse=a
80 endif

set mouse=a 改為 set mouse-=a 即可。

最后編輯時間:2021.04.01 10:01:14


vim 鼠標右鍵無法復制

jeensung 發布時間 2010 - 12 - 14 20:20:32

修改 ~/.vimrc 文件后,發現鼠標右鍵無法復制文本。在配置文件(~/.vimrc)中發現如下內容:

11 " In many terminal emulators the mouse works just fine, thus enable it.
12 if has('mouse')
13     set mouse=a
14 endif

在 vim 幫助文件中,關于鼠標模式有如下解釋:

The mouse can be enabled for different modes:n    Normal modev    Visual modei    Insert modec    Command - line modeh    all previous modes when editing a help filea    all previous modesr    for |hit - enter| and |more - prompt| prompt
Normally you would enable the mouse in all four modes with::set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.

可見,配置文件中的 set mouse=a 啟用了所有模式,導致 vim 接管了鼠標控制。

鼠標事件有程序處理和 X 處理兩種方式。若由 X 負責處理,則是左鍵選擇,中間粘貼。要讓 vim 中由 X 負責處理,有以下兩種方法:

  1. 按住 shift 鍵進行選擇,此時由 X 處理該選擇,copy 選項將啟用。若松開 shift 鍵,則由 vim 處理該選擇。
  2. .vimrc 中設置 set mouse=(即清空),此時 vim 不再干涉鼠標選擇,始終將處理權交給 X。這種情況下,鼠標處于無模式編輯狀態,也可使用鼠標切換 vim 中的 tab 窗口,且 vim 中的編輯光標不會跟隨鼠標。

參考鏈接

  • Linux 入門:vim 鼠標不能右鍵粘貼、跨系統復制粘貼_vim 中當鼠標右鍵功能無法使用時,如何開啟 - CSDN 博客
    -https://blog.csdn.net/foryouslgme/article/details/52688285

  • Vim 配置#Vim 中使用鼠標功能_zsh vim 鼠標插入模式 - CSDN 博客
    https://blog.csdn.net/qq_27968607/article/details/54966912

  • 解決配置 vim 之后不能鼠標右鍵復制問題_vim 里的鼠標右鍵 - CSDN 博客
    https://blog.csdn.net/weixin_51622761/article/details/124895911

  • Vim 鼠標配置詳解 - CSDN 博客
    https://blog.csdn.net/victoryckl/article/details/8122012

  • Vim 全局配置 / 設置鼠標模式 - BrandonPei - 博客園
    https://www.cnblogs.com/BrandonPei/p/17873231.html

  • vim 設置 mouse 行為不生效 - 簡書
    https://www.jianshu.com/p/29744bae5f3d

  • vim 鼠標右鍵無法復制_jeensung_新浪博客
    http://blog.sina.com.cn/s/blog_622d95080100ny94.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72970.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flink-DataStreamAPI-執行模式

一、概覽 DataStream API支持不同的運行時執行模式&#xff0c;我們可以根據用例的要求和作業的特征進行選擇。 STREAMING執行模式&#xff1a;被稱為“經典”執行模式為&#xff0c;主要用于需要持續增量處理并且預計無限期保持在線的無界作業BATCH執行模式&#xff1a;類似…

解決VScode 連接不上問題

問題 &#xff1a;VScode 連接不上 解決方案&#xff1a; 1、手動殺死VS Code服務器進程&#xff0c;然后重新嘗試登錄 打開xshell &#xff0c;遠程連接服務器 &#xff0c;查看vscode的進程 &#xff0c;然后全部殺掉 [cxqiZwz9fjj2ssnshikw14avaZ ~]$ ps ajx | grep vsc…

C#類型轉換基本概念

一、基本定義? C# 類型轉換是將數據從一種類型轉換為另一種類型的過程&#xff0c;分為 ?隱式轉換? 和 ?顯式轉換? 兩類?。 強類型語言特性?&#xff1a;C# 要求變量類型在編譯時確定&#xff0c;類型轉換需滿足兼容性或顯式規則?。目的?&#xff1a;處理不同數據類…

使用阿里云操作系統控制臺排查內存溢出

引言 操作系統控制臺是阿里云最新推出的一款智能運維工具&#xff0c;專為提升運維效率、優化服務器管理而設計。它集成了多種運維管理功能&#xff0c;包括操作系統助手、插件管理器以及其他實用工具&#xff0c;為用戶提供一站式的運維解決方案。無論是個人開發者還是企業運…

(C/S)架構、(B/S)架構

客戶機/服務器&#xff08;C/S&#xff09;架構 理論描述&#xff1a; 客戶機/服務器架構是一種網絡架構風格&#xff0c;其中任務被分配給網絡中的不同計算機&#xff0c;以提高效率和靈活性。這種架構由兩部分組成&#xff1a;客戶端&#xff08;Client&#xff09;和服務器&…

混合存儲HDD+SSD機型磁盤陣列,配上SSD緩存功能,性能提升300%

企業日常運行各種文件無處不在&#xff0c;文檔、報告、視頻、應用數據......面對成千上萬的文件&#xff0c;團隊之間需要做到無障礙協作&#xff0c;員工能夠即時快速訪問、共享處理文件。隨著業務增長&#xff0c;數字化辦公不僅需要大容量&#xff0c;快速高效的文件訪問越…

C 語言異常處理方式全面解析

引言? 在 C 語言編程領域&#xff0c;穩健的錯誤處理機制對于保障程序的可靠性、穩定性以及安全性至關重要。異常處理作為錯誤處理的進階形式&#xff0c;雖然并非 C 語言標準庫原生支持的特性&#xff0c;但通過巧妙運用語言特性和編程技巧&#xff0c;開發者能夠實現有效的…

【每日學點HarmonyOS Next知識】狀態欄控制、片段按鈕點擊回調、繪制組件、取消按鈕與輸入框對齊、父調子組件方法

1、HarmonyOS 狀態欄怎么控制顯示于隱藏&#xff0c;設置狀態欄顏色&#xff0c;子顏色等控制&#xff1f; 顯示與隱藏 可以設置沉浸式&#xff0c;隱藏的話可以退出沉靜式&#xff0c;在子窗口打開的頁面 aboutToAppear 方法中設置沉浸式 aboutToAppear(): void {// 設置沉浸…

二級Python通關秘籍:字符串操作符/函數/方法全解析與實戰演練

第一章 字符串基礎概念與運算符速通 1.1 字符串的不可變性特性 在Python中&#xff0c;字符串被設計為immutable類型&#xff0c;任何修改操作都會生成新對象。這一特性直接影響字符串拼接的性能表現&#xff0c;建議使用join()方法代替多次操作。 1.2 基礎操作符全掌握 pyt…

GStreamer —— 2.6、Windows下Qt加載GStreamer庫后運行 - “教程6:媒體格式和Pad功能“(附:完整源碼)

運行效果 簡介 上一個教程演示了GUI 工具包集成(gtk)。本教程介紹媒體格式和Pad功能。Pad Capabilities 是 GStreamer 的一個基本元素&#xff0c;盡管大多數它們不可見&#xff0c;因為框架會處理它們 自然而然。這個有點理論性的教程展示了&#xff1a; ? 什么是 Pad 功能。…

【前綴和與差分 C/C++】洛谷 P8218 求區間和

2025 - 03 - 09 - 第 72 篇 Author: 鄭龍浩 / 仟濹 【前綴和與差分 C/C】 文章目錄 洛谷 P8218 求區間和題目描述輸入格式輸出格式輸入輸出樣例 #1輸入 #1輸出 #1 說明/提示思路代碼 洛谷 P8218 求區間和 題目描述 給定 n n n 個正整數組成的數列 a 1 , a 2 , ? , a n a_…

初識Bert

在學習Bert之前我們先了解“遞歸神經網絡&#xff08;RNN Recurrent neural network)” 和 “長短期記憶&#xff08;LSTM Long short-term memory)” 我們如果僅僅識別每個字的含義&#xff0c;那么在一句話中沒有相同的字還是可以的但是如果一句話中有相同的字&#xff0c;那…

clickhouse源碼分析

《ClickHouse源碼分析》 當我們談論數據庫時&#xff0c;ClickHouse是一個不容忽視的名字。它是一個用于聯機分析處理&#xff08;OLAP&#xff09;的列式數據庫管理系統&#xff08;DBMS&#xff09;&#xff0c;以其快速的數據查詢能力而聞名。對于想要深入了解這個高效工具…

[網絡爬蟲] 動態網頁抓取 — Selenium 元素定位

&#x1f31f;想系統化學習爬蟲技術&#xff1f;看看這個&#xff1a;[數據抓取] Python 網絡爬蟲 - 學習手冊-CSDN博客 在使用 Selenium 時&#xff0c;往往需要先定位到指定元素&#xff0c;然后再執行相應的操作。例如&#xff0c;再向文本輸入框中輸入文字之前&#xff0c;…

ArcGIS操作:15 計算點的經緯度,并添加到屬性表

注意&#xff1a;需要轉化為地理坐標系 1、打開屬性表&#xff0c;添加字段 2、計算字段&#xff08;以計算緯度為例 !Shape!.centroid.Y ) 3、效果

[項目]基于FreeRTOS的STM32四軸飛行器: 七.遙控器按鍵

基于FreeRTOS的STM32四軸飛行器: 七.遙控器 一.遙控器按鍵搖桿功能說明二.搖桿和按鍵的配置三.按鍵掃描 一.遙控器按鍵搖桿功能說明 兩個手柄四個ADC。 左側手柄&#xff1a; 前后推為飛控油門&#xff0c;左右推為控制飛機偏航角。 右側手柄&#xff1a; 控制飛機飛行方向&a…

Redis 內存淘汰策略深度解析

Redis 作為高性能的內存數據庫&#xff0c;其內存資源的高效管理直接關系到系統的穩定性和性能。當 Redis 的內存使用達到配置的最大值&#xff08;maxmemory&#xff09;時&#xff0c;新的寫入操作將觸發內存淘汰機制&#xff08;Eviction Policy&#xff09;&#xff0c;以釋…

【面試】Java 集合

集合 1、常見的集合有哪些2、說說 List、Set、Queue、Map 四者的區別3、Collection 和 Collections 有什么區別4、Comparable 和 Comparator 的區別5、ArrayList 和 LinkedList 的區別是什么6、ArrayList 和 Vector 的區別是什么7、ArrayList 和 Vector 的擴容機制8、CopyOnWri…

【c++】平移字符串

說明 實現字符串的左移與右移 示例代碼 #include <iostream> #include <string> using namespace std;int main() {string str1 "12345";//左移2位string str2 str1.substr(2) str1.substr(0, 2);cout << str2 << endl;//右移2位&…

密碼學(終極版)

加密 & 解密 備注&#xff1a;密碼學領域不存在完全不能破解的密碼&#xff0c;但是如果一個密碼需要很久很久&#xff0c;例如一萬年才能破解&#xff0c;就認為這個密碼是安全的了。 對稱加密 非對稱加密 公鑰加密、私鑰解密 私鑰簽名、公鑰認證 非對稱的底層原理是…