java vimrc_.vimrc技巧

-------------------------------------------------------------------

" 設置字符編碼。參考:http://www.rainux.org/blog/index.php/2005/10/20/106" encoding: Vim 內部使用的字符編碼方式,包括 Vim 的

buffer (緩沖區)、菜單文" 本、消息文本等。用戶手冊上建議只在 .vimrc

中改變它的值,事實上似乎也只有" 在 .vimrc 中改變它的值才有意義。"" 由于 Unicode 能夠包含幾乎所有的語言的字符,而且 Unicode

的 UTF-8 編碼方式" 又是非常具有性價比的編碼方式 (空間消耗比 UCS-2 小),因此建議

encoding 的" 值設置為 utf-8。這么做的另一個理由是 encoding 設置為

utf-8 時,Vim 自動探" 測文件的編碼方式會更準確 (或許這個理由才是主要的)。set encoding=utf-8" fileencodings: Vim 啟動時會按照它所列出的字符編碼方式逐一探測即將打開的文" 件的字符編碼方式,并且將 fileencoding 設置為最終探測到的字符編碼方式。因" 此最好將 Unicode 編碼方式放到這個列表的最前面。"" 拉丁語系編碼方式 latin1 最好去掉。因為如果有 latin-1,在文件中有多種編碼" 方式的內容時 (比如,a 為 utf-8 編碼的中文文本文件,b 為 cp936 編碼的中文" 文本文件,執行命令 cat b >> a 后的 a 文件),最后 Vim 會將文件編碼設為" latin-1,導致最終非英文內容顯示完全亂碼。"set

fileencodings=utf-8,chinese,latin-1set

fileencodings=utf-8,chinese" fileencoding: Vim 中當前編輯的文件的字符編碼方式,Vim 保存文件時也會將文" 件保存為這種字符編碼方式。"" 如果打開的是已有的文件,則

Vim 會將 fileencoding 設置為上面探測到的字符編" 碼,此處的設置不再有效;如果是新文件,則此處的

fileencoding 生效。if has("win32")" 我們在中文 Windows

里編輯的文件,為了兼顧與其他軟件的兼容性,文件

編碼" 還是設置為 GB2312/GBK 比較合適,因此 fileencoding 建議設置為 chinese" (chinese 是個別名,在 Unix 里表示 gb2312,在 Windows 里表示 cp936,也" 就是 GBK 的代

碼頁)。set fileencoding=chineseelseset fileencoding=utf-8endif" termencoding: Vim 所工

作的終端 (或者 Windows 的 Console 窗口) 的字符編碼" 方式。這個選項對 GUI 模式的 gVim 無效,而對 Console 模式的 Vim 而言就是" Windows 控制臺的代碼頁 (對于 Windows 而言),并且通常我們不需要改變它。"" 下面這句只影響普通模式 (非圖形界面) 下的 Vim。let &termencoding=&encoding" 一般而言,在字符編碼配置正確的情況下,是不會出現亂碼問題的。" 萬一不幸菜單亂碼 (比如,locale 設置為 zh_CN.UTF-8 而 encoding 卻設置為" cp936 時。當然,此時最好的方

法還是將 encoding 設置為 utf-8) ,請取消下" 面兩行語句的注釋。"source $VIMRUNTIME/delmenu.vim"source $VIMRUNTIME/menu.vim"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 設置圖形界面。"" 字體部分,可參考《程序員最喜歡用的編程字體》一文:" http://www.2maomao.com/blog/best-programmer-fonts/if has("gui_running")if has("win32")" 設定 windows 下 gvim 啟動時最大化autocmd GUIEnter * simalt ~x" 設定

windows 下圖形界面下的字體。該字體需要自己下載安

裝,下載地址:"

http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.zipset guifont=Bitstream_Vera_Sans_Mono:h14:cANSIelse" 設定 linux

下圖形界面下的字體,該字體 Fedora 7 自帶set guifont=DejaVu\ LGC\

Sans\ Mono\ 14endifendif"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""colorscheme evening???????? "

設定背景為夜間模式filetype plugin on????????? "

自動識別文件類型,自動匹配對應的"

“文件類型Plugin.vim”文件,使用縮進定義文件set ambiwidth=double??????? "

ambiwidth 默認值為 single。在其值為 single 時," 若 encoding 為 utf-8,gvim 顯示全角符號時就會" 出問題,會當作半角顯示。set autochdir?????????????? "

自動切換當前目錄為當前文件所在的目錄set autoindent cindent cinoptions=g0" 打開自動縮進和 C 語言風格的縮進模式," 定制 C 語言縮進風格set backspace=indent,eol,start" 不設定的話在插入狀態無法用退格鍵和 Delete" 鍵刪除回車符set backupcopy=yes????????? " 設置備份時的行為為覆蓋if v:version >= 700set completeopt=menu,longest,preview" 自動補全(ctrl-p)時的一些選項:" 多于一項時顯示菜單,最長選擇," 顯示當前選擇的額外信息endifset confirm???????????????? " 用確認對話框(對于 gvim)或命令行選項(對于" vim)來代替有未保存內容時的警告信息set display=lastline??????? " 長行不能完全顯示時顯示當前屏幕能顯示的部分。" 默認值為空,長行不能完全顯示時顯示 @。set expandtab?????????????? " 將 tab 鍵轉換為空格set formatoptions=tcqro???? " 使得注釋換行時自動加上前導的空格和星號set hidden????????????????? " 允許在有未保存的修改時切換緩沖區," 此時的修改由切換由 vim 負責保存set history=50????????????? " 設置冒號命令和搜索命令的命令歷史列表的長度為 50set hlsearch??????????????? " 搜索時高亮顯示被找到的文本set ignorecase smartcase??? " 搜索時忽略大小寫,但在有一個或以上大寫字母時" 仍保持對大小寫敏感set incsearch?????????????? " 輸入搜索內容時就顯示搜索結果set mouse=a???????????????? " 設定在任何模式下鼠標都可用set nobackup??????????????? " 覆蓋文件時不備份set nocompatible??????????? " 設定 gvim 運行在增強模式下set noignorecase??????????? " 默認區分大小寫set nolinebreak???????????? " 在單詞中間斷行set number????????????????? " 顯示行號set

ruler?????????????????? " 打開狀態欄標尺"set

scrolloff=5???????????? " 設定光標離窗口上下邊界 5 行時窗口自動滾動set shiftwidth=4??????????? " 設定 << 和 >> 命令移動時的寬度為 4set showcmd???????????????? " 在狀態欄顯示目前所執行的指令,未完成的指令片段亦" 會顯示出來set

softtabstop=4?????????? " 使得按退格鍵時可以一次刪掉 4 個空格" (不足 4 個時刪掉所有剩下的空格)set tabstop=4?????????????? " 設定 tab 長度為 4set whichwrap=b,s,,[,]?? " 設定退格鍵、空格鍵以及左右方向鍵在行首行尾時的" 行為,不影響 h 和 l 鍵set wrap??????????????????? " 自動換行顯示syntax

on?????????????????? " 自動語法高亮"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 設置命令行和狀態欄set cmdheight=1???????????? "

設定命令行的行數為 1set laststatus=2??????????? " 顯示狀態欄

(默認值為 1, 無法顯示狀態欄)set

statusline=%F%m%r,%Y,%{&fileformat}\ \ \ ASCII=\%b,HEX=\%B\ \ \

%l,%c%V\ %p%%\ \ \ [\ %L\ lines\ in\ all\ ]" 設置在狀態行顯示的信息如下:" %F??? 當前文件名" %m??? 當前文件修改狀態" %r??? 當前文件是否只讀" %Y??? 當前文件類型" %{&fileformat}"?????? 當前文件編碼" %b??? 當前光標處字符的 ASCII 碼值" %B??? 當前光標處字符的十六進制值" %l??? 當前光標行號" %c??? 當前光標列號" %V??? 當前光標虛擬列號 (根據字符所占字節數計算)" %p??? 當前行占總行數的百分比" %%??? 百分號" %L??? 當前文件總行數"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 自動命令" 讀文件時自動設定當前目錄為剛讀入文件所在的目錄autocmd BufReadPost * cd %:p:h"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 自定義縮寫function! Eatchar(pat)let s:c = nr2char(getchar())return (s:c =~

a:pat) ? '' : s:cendfunction

---------------------------------------------------

skill summary:

關于 vim 的安裝, 基本使用方法等網絡上能搜出許多, 就不在這里羅嗦了, 要是對 vim 有

興趣, 那就看看這里(中文文檔): http://vcd.gro.clinux.org/

本文就說些其中比較有用, 比較常用的命令, 若能熟練運用這些命令, 那么會發現編輯文件

很舒服.

說明:

以下的例子中 xxx 表示在命令模式下輸入 xxx 并回車

以下的例子中 :xxx 表示在擴展模式下輸入 xxx 并回車

小括號中的命令表示相關命令.

在編輯模式或可視模式下輸入的命令會另外注明.

1. 查找

/xxx(?xxx) 表示在整篇文檔中搜索匹配xxx的字符串, / 表示向下查找, ? 表示

向上查找.其中xxx可以是正規表達式,關于正規式就不多說了.

一般來說是區分大小寫的, 要想不區分大小寫, 那得先輸入

:set ignorecase

查找到以后, 再輸入 n 查找下一個匹配處, 輸入 N 反方向查找.

*(#) 當光標停留在某個單詞上時, 輸入這條命令表示查找與該單詞匹配的

下(上)一個單詞. 同樣, 再輸入 n 查找下一個匹配處, 輸入 N 反方

向查找.

g*(g#) 此命令與上條命令相似, 只不過它不完全匹配光標所在處的單詞, 而

是匹配包含該單詞的所有字符串.

gd 本命令查找與光標所在單詞相匹配的單詞, 并將光標停留在文檔的非

注釋段中第一次出現這個單詞的地方.

% 本命令查找與光標所在處相匹配的反括號, 包括 () [] {}

f(F)x 本命令表示在光標所在行進行查找, 查找光標右(左)方第一個x字符.

找到后:

輸入 ; 表示繼續往下找

輸入 , 表示反方向查找

2. 快速移動光標

在 vi 中, 移動光標和編輯是兩件事, 正因為區分開來, 所以可以很方便的進行光標定

位和編輯. 因此能更快一點移動光標是很有用的.

w(e) 移動光標到下一個單詞.

b 移動光標到上一個單詞.

0 移動光標到本行最開頭.

^ 移動光標到本行最開頭的字符處.

$ 移動光標到本行結尾處.

H 移動光標到屏幕的首行.

M 移動光標到屏幕的中間一行.

L 移動光標到屏幕的尾行.

gg 移動光標到文檔首行.

G 移動光標到文檔尾行.

c-f (即 ctrl 鍵與 f 鍵一同按下) 本命令即 page down.

c-b (即 ctrl 鍵與 b 鍵一同按下, 后同) 本命令即 page up.

'' 此命令相當有用, 它移動光標到上一個標記處, 比如用 gd, * 等查

找到某個單詞后, 再輸入此命令則回到上次停留的位置.

'. 此命令相當好使, 它移動光標到上一次的修改行.

`. 此命令相當強大, 它移動光標到上一次的修改點.

3. 拷貝, 刪除與粘貼

在 vi 中 y 表示拷貝, d 表示刪除, p 表示粘貼. 其中拷貝與刪除是與光標移動命令

結合的, 看幾個例子就能夠明白了.

yw 表示拷貝從當前光標到光標所在單詞結尾的內容.

dw 表示刪除從當前光標到光標所在單詞結尾的內容.

y0 表示拷貝從當前光標到光標所在行首的內容.

d0 表示刪除從當前光標到光標所在行首的內容.

y$ 表示拷貝從當前光標到光標所在行尾的內容.

d$ 表示刪除從當前光標到光標所在行尾的內容.

yfa 表示拷貝從當前光標到光標后面的第一個a字符之間的內容.

dfa 表示刪除從當前光標到光標后面的第一個a字符之間的內容.

特殊地:

yy 表示拷貝光標所在行.

dd 表示刪除光標所在行.

D 表示刪除從當前光標到光標所在行尾的內容.

關于拷貝, 刪除和粘貼的復雜用法與寄存器有關, 可以自行查詢.

4. 數字與命令

在 vi 中數字與命令結合往往表示重復進行此命令, 若在擴展模式的開頭出現則表示行

號定位. 如:

5fx 表示查找光標后第 5 個 x 字符.

5w(e) 移動光標到下五個單詞.

5yy 表示拷貝光標以下 5 行.

5dd 表示刪除光標以下 5 行.

y2fa 表示拷貝從當前光標到光標后面的第二個a字符之間的內容.

:12,24y 表示拷貝第12行到第24行之間的內容.

:12,y 表示拷貝第12行到光標所在行之間的內容.

:,24y 表示拷貝光標所在行到第24行之間的內容. 刪除類似.

5. 快速輸入字符

在 vi 中, 不要求你輸入每一個字符, 可以有很多種方法快速輸入一些字符.

使用 linux/unix 的同學一定有一個經驗, 在命令行下輸入命令時敲入頭幾個字符再按

TAB 系統就會自動將剩下的字符補齊, 假如有多個匹配則會打印出來. 這就是著名的命令

補齊(其實windows中也有文件名補齊功能). vi 中有許多的字符串補齊命令, 非常方便.

c-p(c-n) 在編輯模式中, 輸入幾個字符后再輸入此命令則 vi 開始向上(下)搜

索開頭與其匹配的單詞并補齊, 不斷輸入此命令則循環查找. 此命令

會在所有在這個 vim 程序中打開的文件中進行匹配.

c-x-l 在編輯模式中, 此命令快速補齊整行內容, 但是僅在本窗口中出現的

文檔中進行匹配.

c-x-f 在編輯模式中, 這個命令表示補齊文件名. 如輸入:

/usr/local/tom 后再輸入此命令則它會自動匹配出:

/usr/local/tomcat/

abbr 即縮寫. 這是一個宏操作, 可以在編輯模式中用一個縮寫代替另一個

字符串. 比如編寫java文件的常常輸入 System.out.println, 這很

是麻煩, 所以應該用縮寫來減少敲字. 可以這么做:

:abbr sprt System.out.println

以后在輸入sprt后再輸入其他非字母符號, 它就會自動擴展為System.

out.println

6. 替換

替換是 vi 的強項, 因為可以用正規表達式來匹配字符串.以下提供幾個例子.

:s/aa/bb/g 將光標所在行出現的所有包含 aa 的字符串中的 aa 替換為 bb

:s/\/bb/g 將光標所在行出現的所有 aa 替換為 bb, 僅替換 aa 這個單詞

:%s/aa/bb/g 將文檔中出現的所有包含 aa 的字符串中的 aa 替換為 bb

:12,23s/aa/bb/g 將從12行到23行中出現的所有包含 aa 的字符串中的 aa 替換為 bb

:12,23s/^/#/ 將從12行到23行的行首加入 # 字符

:%s= *$== 將所有行尾多余的空格刪除

:g/^\s*$/d 將所有不包含字符(空格也不包含)的空行刪除.

7. 多文件編輯

在一個 vim 程序中打開很多文件進行編輯是挺方便的.

:sp(:vsp) 文件名 vim 將分割出一個橫(縱)向窗口, 并在該窗口中打開新文件.

從 vim6.0 開始, 文件名可以是一個目錄的名稱, 這樣, vim 會

把該目錄打開并顯示文件列表, 在文件名上按回車則在本窗口打

開該文件, 若輸入 O 則在新窗口中打開該文件, 輸入 ? 可以看

到幫助信息.

:e 文件名 vim 將在原窗口中打開新的文件, 若舊文件編輯過, 會要求保存.

c-w-w vim 分割了好幾個窗口怎么辦? 輸入此命令可以將光標循環定位

到各個窗口之中.

:ls 此命令查看本 vim 程序已經打開了多少個文件, 在屏幕的最下方

會顯示出如下數據:

1 %a "usevim.html" 行 162

2 # "xxxxxx.html" 行 0

其中:

1 表示打開的文件序號, 這個序號很有用處.

%a 表示文件代號, % 表示當前編輯的文件,

# 表示上次編輯的文件

"usevim.html" 表示文件名.

行 162 表示光標位置.

:b 序號(代號) 此命令將指定序號(代號)的文件在本窗口打開, 其中的序號(代號)

就是用 :ls 命令看到的.

:set diff 此命令用于比較兩個文件, 可以用

:vsp filename

命令打開另一個文件, 然后在每個文件窗口中輸入此命令,就能看

到效果了.

8. 宏替換

vi 不僅可以用 abbr 來替換文字, 也可以進行命令的宏定義. 有些命令輸起來很費勁,

因此我把它們定義到 -上, 這樣就很方便了.這些配置可以預先寫到 ~/.vimrc

(windows 下為 $VIM/_vimrc) 中, 寫進去的時候不用寫前面的冒號.

:nmap :nohls取消被搜索字串的高亮

:nmap w 命令模式下轉移光標到不同窗口

:imap 輸入模式下運行:nmap :%s= *$==刪除所有行尾多余的空格.

:imap 同上

:java 中: (注, 這里為什么說 java 中, 因為以下定義對其他文件格式不起作用, 下文

會說到如何實現這一點)

:nmap :comp javac:mak -d . %此命令用 javac 編譯 java 文件, 它會自動將光標定位到出錯點. 不過這需要定

義一個 javac.vim 文件在 $VIM/compiler 下, 在 javac.vim 里面只有兩行字:

setlocal makeprg=javac

setlocal errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#

:nmap :comp ant:mak此命令用 ant 編譯 java 文件, 它會自動將光標定位到出錯點. 一般來說, 安裝

vim 后已經有了compiler/ant.vim文件, 因此這個命令可以直接使用. 但是需要

在當前目錄下有 build.xml 文件, 當然還必須安裝 ant 才行.

:nmap :cl此命令用于查看所有的編譯錯誤.

:imap :nmap :cc此命令用于查看當前的編譯錯誤.

:imap :nmap :cn此命令用于跳到下一個出錯位置.

:imap :nmap :cp此命令用于跳到上一個出錯位置.

:imap :nmap :JavaBrowser此命令用于在窗口左部分割出一個新窗口, 里面的內容是 java 的資源樹, 包括

本文件中出現的類, 類的成員變量及成員方法, 就好像 JCreator 表現的那樣.

在這個窗口中輸入 ? 會看到幫助. 嘿嘿, 很好用, 不過需要 ctags 支持.

:imap 9. TAB

TAB 就是制表符, 單獨拿出來做一節是因為這個東西確實很有用.

<< 輸入此命令則光標所在行向左移動一個 tab.

>> 輸入此命令則光標所在行向右移動一個 tab.

5>> 輸入此命令則光標后 5 行向右移動一個 tab.

:12,24> 此命令將12行到14行的數據都向右移動一個 tab.

:12,24>> 此命令將12行到14行的數據都向右移動兩個 tab.

那么如何定義 tab 的大小呢? 有人愿意使用 8 個空格位, 有人用4個, 有的用2個.

有的人希望 tab 完全用空格代替, 也有的人希望 tab 就是 tab. 沒關系, vim 能

幫助你.以下的設置一般也都先寫入配置文件中, 免得老敲.

:set shiftwidth=4 設置自動縮進 4 個空格, 當然要設自動縮進先.

:set sts=4 即設置 softtabstop 為 4. 輸入 tab 后就跳了 4 格.

:set tabstop=4 實際的 tab 即為 4 個空格, 而不是缺省的 8 個.

:set expandtab 在輸入 tab 后, vim 用恰當的空格來填充這個 tab.

10. autocmd

這個命令十分的強大, 可以用這個命令實現對不同的文件格式應用不同的配置; 可以

在新建文件時自動添加上版權聲明等等. 這些命令一般定義在 ~/.vimrc 這樣的配置文件

里面. 由于他很強大, 所以我不能給出很具體的說明, 只能舉幾個例子, 詳細的請看幫助.

:autocmd! 刪除所有之前的自動命令.

autocmd FileType java source ~/.vim/files/java.vim

autocmd FileType java source ~/.vim/files/jcommenter.vim

以上兩條命令讓我在打開 java 文件時才應用后面提到的兩個配置文件.

autocmd BufNewFile *.java 0r ~/.vim/files/skeletons/java.skel

以上這條命令讓我在新建 java 文件時自動加入 java.skel 文件的內容.

autocmd BufNewFile *.java normal gnp

以上這條命令讓我在新建 java 文件時自動運行 gnp 命令, 這個命令進行一些特殊化

處理, 比如將新 java 文件中的 __date__ 替換成今天的日期什么的.

11. 常用腳本

在 vim.sf.net 你可以發現很多腳本(script), 這些腳本常常有讓你意想不到的作用.

我常用的有:

jcommenter.vim 自動加入 javadoc 風格的注釋.

JBrowser.vim 類資源瀏覽. C, C++ 等可以用 Tlist

還有許多有用的, 比如 checkstyle.vim 可以檢驗你的編程風格, jad.vim 可以直接

反編譯 .class 文件等等.

12. 常用配置

在~/.vimrc 配置文件中你常常需要一些個性化配置. 比如上面寫的一些宏定義, 一些

autocmd 定義等等. 比如:

set suffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc

這樣在vim中打開文件時, 按 tab 鍵補齊文件名時它會忽略上述文件.

set nu 顯示行號

set ai 設置自動縮進

map Y y$ 讓 Y 和 D 一樣, 要不然 Y 的本意和 yy 一樣.

13. 其他

還有許多有意思的命令, 記錄在這里免得忘記.

. 重復上次編輯命令.

:g/^/exec "s/^/".strpart(line(".")." ", 0, 4) 在行首插入行號

:runtime! syntax/2html.vim 轉換 txt 成 html, 會按照你的

顏色配置來轉

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

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

相關文章

將PDF和Gutenberg文檔格式轉換為文本:生產中的自然語言處理

Estimates state that 70%–85% of the world’s data is text (unstructured data). Most of the English and EU business data formats as byte text, MS Word, or Adobe PDF. [1]據估計&#xff0c;全球數據的70&#xff05;–85&#xff05;是文本(非結構化數據)。 大多數…

Go_筆試題記錄-指針與值類型實現接口的區別

1、如果Add函數的調用代碼為&#xff1a; func main() {var a Integer 1var b Integer 2var i interface{} &asum : i.(*Integer).Add(b)fmt.Println(sum) } 則Add函數定義正確的是&#xff08;&#xff09; A.type Integer int func (a Integer) Add(b Integer) Intege…

leetcode 48. 旋轉圖像

解題思路 將數組從里到外分為若干層&#xff0c; 數組 [1,2,3], [4,5,6][7,8,9]的最外層即為 [1,2,3] [4 6][7,8,9] &#xff0c;將一層分為4條邊&#xff0c;如741 123&#xff0c;將741放到123的位置&#xff0c;123放到369的位置&#xff0c;如此類推&#xff08;但是放置的…

如何恢復誤刪的OneNote頁面

今天不小心把半個月的日記刪掉了&#xff01;&#xff08;為了減少頁面數量&#xff0c;每個月的日記會放在同一個頁面上&#xff09;。 幸運的是OneNote有自動備份功能&#xff0c;喜極而泣。 操作方法來自微軟支持 打開丟失了最近筆記的筆記本。 單擊“文件”>“信息”&g…

javascript函數式_JavaScript中的函數式編程原理

javascript函數式After a long time learning and working with object-oriented programming, I took a step back to think about system complexity.經過長時間的學習和使用面向對象的編程&#xff0c;我退后了一步來思考系統的復雜性。 “Complexity is anything that mak…

java writeint_Java DataOutputStream.writeInt(int v)類型

DataOutputStream.writeInt(int v)方法示例DataOutputStream的DataOutputStream.writeInt(int v)方法具有以下語法。public final void writeInt(int v) throws IOException示例在下面的代碼中展示了如何使用DataOutputStream.writeInt(int v)方法。import java.io.DataInputSt…

協方差意味著什么_“零”到底意味著什么?

協方差意味著什么When I was an undergraduate student studying Data Science, one of my professors always asked the same question for every data set we worked with — “What does zero mean?”當我是一名研究數據科學的本科生時&#xff0c;我的一位教授總是對我們處…

Go_筆試題記錄-不熟悉的

1、golang中沒有隱藏的this指針&#xff0c;這句話的含義是&#xff08;&#xff09; A. 方法施加的對象顯式傳遞&#xff0c;沒有被隱藏起來 B. golang沿襲了傳統面向對象編程中的諸多概念&#xff0c;比如繼承、虛函數和構造函數 C. golang的面向對象表達更直觀&#xff0c;對…

leetcode 316. 去除重復字母(單調棧)

給你一個字符串 s &#xff0c;請你去除字符串中重復的字母&#xff0c;使得每個字母只出現一次。需保證 返回結果的字典序最小&#xff08;要求不能打亂其他字符的相對位置&#xff09;。 注意&#xff1a;該題與 1081 https://leetcode-cn.com/problems/smallest-subsequenc…

Go-json解碼到結構體

廢話不多說&#xff0c;直接干就得了&#xff0c;上代碼 package mainimport ("encoding/json""fmt" )type IT struct {Company string json:"company" Subjects []string json:"subjects"IsOk bool json:"isok"…

leetcode 746. 使用最小花費爬樓梯(dp)

數組的每個索引作為一個階梯&#xff0c;第 i個階梯對應著一個非負數的體力花費值 costi。 每當你爬上一個階梯你都要花費對應的體力花費值&#xff0c;然后你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在開始時&#xff0c;你可以選擇從索…

安卓中經常使用控件遇到問題解決方法(持續更新和發現篇幅)(在textview上加一條線、待續)...

TextView設置最多顯示30個字符。超過部分顯示...(省略號)&#xff0c;有人說分別設置TextView的android:signature"true",而且設置android:ellipsize"end";可是我試了。居然成功了&#xff0c;供大家參考 [java] view plaincopy<TextView android:id…

網絡工程師晉升_晉升為工程師的最快方法

網絡工程師晉升by Sihui Huang黃思慧 晉升為工程師的最快方法 (The Fastest Way to Get Promoted as an Engineer) We all want to live up to our potential, grow in our career, and do the best work of our lives. Getting promoted at work not only proves that we hav…

java 銀行存取款_用Java編寫銀行存錢取錢

const readline require(‘readline-sync‘)//引用readline-synclet s 2;//錯誤的次數for (let i 0; i < 3; i) {console.log(‘請輸入名&#xff1a;(由英文組成)‘);let user readline.question();console.log(‘請輸入密碼&#xff1a;(由數字組成)‘);let password …

垃圾郵件分類 python_在python中創建SMS垃圾郵件分類器

垃圾郵件分類 python介紹 (Introduction) I have always been fascinated with Google’s gmail spam detection system, where it is able to seemingly effortlessly judge whether incoming emails are spam and therefore not worthy of our limited attention.我一直對Goo…

leetcode 103. 二叉樹的鋸齒形層序遍歷(層序遍歷)

給定一個二叉樹&#xff0c;返回其節點值的鋸齒形層序遍歷。&#xff08;即先從左往右&#xff0c;再從右往左進行下一層遍歷&#xff0c;以此類推&#xff0c;層與層之間交替進行&#xff09;。例如&#xff1a; 給定二叉樹 [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回…

簡單易用的MongoDB

從我第一次聽到Nosql這個概念到如今已經走過4個年頭了&#xff0c;但仍然沒有具體的去做過相應的實踐。最近獲得一段學習休息時間&#xff0c;購買了Nosql技術實踐一書&#xff0c;正在慢慢的學習。在主流觀點中&#xff0c;Nosql大體分為4類&#xff0c;鍵值存儲數據庫&#x…

html畫布圖片不顯示_如何在HTML5畫布上顯示圖像

html畫布圖片不顯示by Nash Vail由Nash Vail Ok, so here’s a question: “Why do we need an article for this, Nash?”好的&#xff0c;這是一個問題&#xff1a;“為什么我們需要為此寫一篇文章&#xff0c;納什&#xff1f;” Well, grab a seat.好吧&#xff0c;坐下…

java斷點續傳插件_視頻斷點續傳+java視頻

之前仿造uploadify寫了一個HTML5版的文件上傳插件&#xff0c;沒看過的朋友可以點此先看一下~得到了不少朋友的好評&#xff0c;我自己也用在了項目中&#xff0c;不論是用戶頭像上傳&#xff0c;還是各種媒體文件的上傳&#xff0c;以及各種個性的業務需求&#xff0c;都能得到…

全棧入門_啟動數據棧入門包(2020)

全棧入門I advise a lot of people on how to build out their data stack, from tiny startups to enterprise companies that are moving to the cloud or from legacy solutions. There are many choices out there, and navigating them all can be tricky. Here’s a brea…