新版本的 phpMyAdmin 預設會將資料表過多的清單分頁,以便加快頁面載入速度,但其資料表 filter / searching 只會針對當下的分頁進行搜尋,塑資料表在第二頁或後面的分頁,則會搜尋不到資料。
若希望 phpMyAdmin 在資料表清單中不要分頁,可以在 config.inc.php 設定檔最後新增參數:
$cfg['MaxTableList'] = 1000;
軟體開發、伺服器和生活瑣事
新版本的 phpMyAdmin 預設會將資料表過多的清單分頁,以便加快頁面載入速度,但其資料表 filter / searching 只會針對當下的分頁進行搜尋,塑資料表在第二頁或後面的分頁,則會搜尋不到資料。
若希望 phpMyAdmin 在資料表清單中不要分頁,可以在 config.inc.php 設定檔最後新增參數:
$cfg['MaxTableList'] = 1000;
Vim 內建 window (視窗) 管理工具,如果另外有安裝 nerdtree 其實不太需要 Ctrl+Z 切回 shell,但這是使用習慣,挑自己順手的方法即可。
這邊介紹一下如何使用 Vim 同時開啟多個檔案做對照。
先進入 vim 的指令模式,然後輸入 :split
,vim 就會自動建立垂直的 window:
既然有垂直分割當然也就有水平分割,在 split
前加入 vertical
即可水平分割 (vertical
也可使用縮寫 vert
):
有注意到的話,會發現 vim 游標仍然停留在第一個 windows,所以接下來就是 vim 可以在多個 windows 中切換 focus。
在命令模式中鍵入 Ctrl+W 就會進入 windows 管理模式,再按第二次 Ctrl+W
即可將 focus 移動到下一個 windows (注意綠色游標),有多個視窗就多切換幾次,以此類推
另外要注意:你如果是在瀏覽器的 web console 中,請不要使用視窗模式,因為 ctrl+W
會被瀏覽器先 catch 到,瀏覽器就把你目前正在用的視窗關閉 …. _Drz。
還記得如何快速複製多行的指令嗎?3yy
往下複製 3 行的內容;2dd
往下剪下二行的內容。
這些快速切換指令,也適用在 windows 操作上。下面直接用圖片介紹操作方法:
有沒有發現 Vim 的操作其實基礎都差不多?同樣一個邏輯適用於類似了情況,依照自己的需求,適當得使用 J
、K
、H
、L
即可。
另外也有朋友覺得 tmux 的視窗操作較為順手,所以先用 tmux 開多個視窗,然後每個視窗個別開一個 Vim。到底哪個方式比較順手,就讓讀者自行決定。
Ctrl+W
→ X
vert bo split
:resize 10
、:resize +5
、:vertical resize +3
,其他請參考 vim resize 說明。其他與 windows 相關的操作,可以透過在 vim 中使用指令 :h windows
來了解。
若有相關指令在本文中未提及,歡迎在文章下方留言,與其他人分享!
感謝網友 arizvisa 補充說明,想了解 vim cursor 相關的操作邏輯,可以參考以下幾份文件:
:help CTRL-O
:help CTRL-I
:help g;
:help g,
聽了某分享,聽到 :wq
和 ZZ 一樣都是儲存並關閉,和印象中的有些出入,所以直接 :h
查 vim 的說明。
:h wq
Write the current file and close the window. If this was the last edit-window Vim quits.
Writing fails when the file is read-only or the buffer does not have a name. Quitting fails when the last file in the argument list has not been edited.
:h ZZ
Write current file, if modified, and close the current window (same as “:x”). If there are several windows for the current file, only the current window is closed.
所以主要差異有:
:wq
不管檔案是否有變更、異動,都會在 vim 關閉之前寫入檔案;如果使用 ZZ
則僅在檔案內容有變更時才會寫檔,否則直接退出 vim。:wq
後面可以加上參數。例如寫入後關閉,但是希望另存新檔時,可以使用 :wq new-file
來要求 vim 將內容寫入其他檔案。大約十年前,市面上可以找到的是下面這款鐵氟龍膠帶:
近期在商場尋找時,這牌的商品已經找不到了。取而代之的是中興化成的這款:
膠帶中間層多了網狀支撐,感覺膠帶比較不會變形,不過似乎不影響摩擦力。
舊滑鼠看起來有機會再戰個三年 XD
fix target jobs
in /mnt/host/source/chromite/
按照 Building CromiumOS 的說明,並沒有提到任何 parallel jobs 的設定方法,目前只知道目前 (2022-05) 偵測 CPU cores 的程式有錯誤,若主機有 N 個 core,build package 階段可能會出現 NxN 個 parallel jobs。
在 build_package 時,加上參數 --jobs=N
,以便讓 build script 僅使用指定的 job mount 來建立編譯環境。例如:
build_packages --jobs=1 --board=${BOARD}
進入 cros_sdk (chroot) 並設定好 BOARD 之後,透過 grep -r jobs ~/chromiumos/src
尋找是否有錯誤的設定。例如可能會看到以下設定:
./platform/tast/src/chromiumos/tast/cmd/tast/internal/build/portage.go:92: add("emerge", "--jobs=16", "--usepkg", "--onlydeps", "--update", "--deep", "1")
或是:
./platform/factory/py/bundle_creator/docker/util.py:154: os.path.join(temp_dir, 'MANIFEST.yaml'), '--jobs', '7'
script 有指定 parallel jobs,但是卻沒有吃到使用者的設定值,所以一跑主機就爆。
建議:
go build
把主機記憶體吃光,導致編譯到一半 kernal panic