<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 189,comments - 115,trackbacks - 0

    Linux應(yīng)用環(huán)境實(shí)戰(zhàn)02:打造屬于自己的Vim

    http://www.tkk7.com/youxia/archive/2015/01/09/linux002.html

    Linux應(yīng)用環(huán)境實(shí)戰(zhàn)01:玩轉(zhuǎn)Linux系統(tǒng)的方法論

      Linux系統(tǒng)中很多東西都是以腳本代碼、配置文件的形式存在,使用Linux系統(tǒng)時(shí),需經(jīng)常對(duì)這些文件進(jìn)行編輯。很顯然,如果沒有文本編輯器,江湖之路寸步難行。

      我的選擇是Vim。Vim是Linux系統(tǒng)上的最著名的文本/代碼編輯器,也是早年的Vi編輯器的加強(qiáng)版,被譽(yù)為文本/代碼編輯器之中最為優(yōu)秀經(jīng)典的上古神器。 它之所以會(huì)獲得如此美譽(yù),我想主要有以下原因:1.它古老而神秘,學(xué)習(xí)曲線陡峭,難以駕馭,但是一旦學(xué)會(huì)則受益匪淺。如今被看作是高手、Geek們專用的編輯器。所以盡管 Vim 已經(jīng)是古董級(jí)的軟件,但還是有無數(shù)新人迎著困難去學(xué)習(xí)使用。 2.輕便,無需多言,當(dāng)僅僅只需要對(duì)某一文本文件(比如腳本代碼、配置文件)進(jìn)行簡(jiǎn)單的編輯的時(shí)候,所使用的工具當(dāng)然是越輕便越好。Vim同時(shí)也是閱讀文本文件的利器。 3.經(jīng)典巧妙的編輯方式及強(qiáng)大的功能。它全程使用鍵盤操作,用戶必須記住一堆快捷鍵、按鍵組合以及各種命令才能開始使用,一旦使用熟練則編輯效率遠(yuǎn)超其余編輯器,而且具有各種插件、語法高亮、代碼補(bǔ)全、配色方案等極其豐富的資源以及靈活的配置;

      我主要在以下情況下使用Vim: 1.用來修改服務(wù)器系統(tǒng)的配置文件; 很多時(shí)候, Linux 作為服務(wù)器是不會(huì)開啟圖形界面的,當(dāng)需要遠(yuǎn)程操作時(shí),只能利用 SSH “命令字符式”的 Shell 界面對(duì)其進(jìn)行操作,這種情況下,Vim自然是首選。 2.用來閱讀內(nèi)核源代碼和系統(tǒng)的腳本; 理由同上。 3.用來寫簡(jiǎn)單的程序,一般都是單文件的程序,或多文件但是只有少數(shù)幾個(gè)文件的項(xiàng)目,比如學(xué)習(xí)一門編程語言的時(shí)候做練習(xí)題,喜歡看到文件夾內(nèi)干干凈凈,不喜歡一大堆類似.project的文件; 4.裝B,花花綠綠的全文本字符界面,很酷。

      不適合Vim使用的場(chǎng)景: 1.大的編程項(xiàng)目,大的項(xiàng)目還是最好使用IDE,如果要遠(yuǎn)程連接沒有圖形界面的服務(wù)器寫大項(xiàng)目,最好還是在服務(wù)器上建立代碼倉(cāng)庫(kù);理由:VIM沒有好的項(xiàng)目管理功能,VIM的自動(dòng)補(bǔ)全只建立在文本匹配上,沒有程序語言的語義分析功能。 2.對(duì)內(nèi)容的輸入要求不高,但是經(jīng)常需要設(shè)置顯示格式,且每個(gè)動(dòng)作之間本身就有很多的停頓的工作,用其他GUI編輯器(如LibreOffice Writer)效率反而比VIM高。 

      有人說,Vim是“成也插件、敗也插件”。Vim靈活的配置和豐富的插件極大地增強(qiáng)了它的功能,但是也極大地增加了我們管理Vim的難度。首先,在使用Vim之前,必須經(jīng)過適當(dāng)?shù)呐渲茫鳹im的配置又極其繁瑣。所以網(wǎng)上有很多諸如“萬能配置”、“最強(qiáng)配置”的文章,這些都可以參考。但是這些文章中有些存在很多錯(cuò)誤,甚至前后內(nèi)容重復(fù)、沖突,而且這些文章是“授人以魚,而不是授人以漁”,它們給出的配置雖然可以照抄,但是經(jīng)常會(huì)讓人不明所以。 Vim的插件豐富,在網(wǎng)上不乏使用各種插件將Vim配置成強(qiáng)大IDE的文章,但是Vim的插件管理非常困難,因?yàn)槊堪惭b一個(gè)插件,都需要將該插件的文件分別放到Vim安裝路徑下的pluginautoloadsyntaxdoc等目錄下。好在是Vundle橫空出世,它不僅解決了Vim插件在文件系 統(tǒng)中分散的問題,同時(shí)能夠自動(dòng)搜索和下載插件。

    安裝和配置Vim

      使用Vim之前當(dāng)然需要先安裝,不過在Ubuntu中這都不算個(gè)事,一條 sudo aptitude install命令就可以搞定。由于Vundle搜索和下載插件需要git,所以需要同時(shí)安裝vim、gvim和git,如下:

    sudo aptitude install vim
    sudo aptitude install gvim
    sudo aptitude install git
    


      然后,在用戶的主目錄中建立 .vim 目錄,在 .vim 目錄中建立 bundle 目錄,以后Vundle自動(dòng)下載的插件都保存在這里。然后,進(jìn)入 Bundle 目錄,使用 git clone 命令下載vundle。

      下面開始展示我的配置文件(主目錄下的 .vimrc 文件)。我的配置不同于網(wǎng)上流傳的“萬能配置”、“最強(qiáng)配置”。我的配置是能夠達(dá)到我想要的效果的 “最簡(jiǎn)單配置”。下圖是第1到17行,這里配置了Vundle,使用Vundle來管理插件。在網(wǎng)上的一些配置中,常把Vundle的配置放到配置文件的最后,這是不對(duì)的。Vundle的配置必須放到最前面。(如果不用Vundle,用Pathogen插件也一樣要把配置放到最前面。)這是因?yàn)椋挥?Vundle插件運(yùn)行以后,Vim才會(huì)到 ~/.vim/bundle 目錄下加載其它的插件,如果Vundle沒有先運(yùn)行,Vim當(dāng)然找不到下載的插件了。

      第18到44行,如下圖,這是在GVim中截的圖,順便展示一下GVim的效果:

      第45到68行:

      第69到86行:

      從截圖中可以看出,我的配置文件很簡(jiǎn)潔,并且將各種設(shè)置初略地分了類,并進(jìn)行了簡(jiǎn)單的注釋。該配置文件只對(duì)Vim進(jìn)行最基本的設(shè)置,不包含任何鍵盤映射,也不包含任何腳本代碼。我把Vim和GVim使用了不同的配色方案,Vim使用經(jīng)典的desert,而GVim則是網(wǎng)上被眾多人推崇的solarized,而且該配色方案是使用Vundle自動(dòng)下載的。

    使用Vundle管理插件

      Vundle可以自動(dòng)下載和安裝插件,只需要在“My Bundles Here”注釋后面使用 Bundle 命令把所需要的插件列出來,每個(gè)插件一行,然后運(yùn)行 :BundleInstall 命令即可。Vundle支持 github.com 和Vim的官網(wǎng) vim.org 。前面的配置文件中,solarized配色方案就是Vundle從 github.com 上下載的插 件。下面,看看怎么從 vim.org 下載一個(gè)模擬黑客帝國(guó)的插件。如下圖,在 .vimrc 中增加一行配置:

      保存該配置文件,并重新啟動(dòng)Vim后,使用 :BundleInstall 命令,可以看到自動(dòng)下載和安裝插件:

      輸入 :Matrix 命令,可以看到如下效果:

      當(dāng)然,該插件純屬娛樂。娛樂過后還是刪除掉比較好。要?jiǎng)h除一個(gè)插件,首先要從配置文件中將 Bundle 'matrix.vim--Yang' 這一行刪掉或注釋掉,如下圖:

      然后保存配置文件,重新啟動(dòng)Vim,運(yùn)行 :BundleClean 命令,如下圖,刪除一個(gè)插件后的效果:

    怎么學(xué)習(xí)使用Vim

      使用Vim之前必須得先做點(diǎn)功課,否則根本玩不轉(zhuǎn),Vim只會(huì)滴滴滴亂響,讓人一頭霧水。好在Vim有一個(gè)非常棒的幫助系統(tǒng),通過該幫助系統(tǒng), 可以非常方便地學(xué)習(xí)Vim。比如前面展示的配置文件,我并沒有做過多的解釋,因?yàn)槿绻肓私饽硹l設(shè)置的作用,只需要 :help 一下即可。下面以 guioptions 設(shè)置為例,來了解該幫助系統(tǒng)的用法。從我的截圖中可以看到,我的GVim是去掉了工具欄、狀態(tài)欄、菜單、滾動(dòng)條的,只保留了編輯界面,要達(dá)到該效果,需要使用 set guioptions=... 來設(shè)置。要想對(duì) guioptions 有更深入的了解,可以使用 :help guioptions 命令,如下圖:

      彈出的幫助文檔:

      如果想對(duì)Vim進(jìn)行系統(tǒng)的學(xué)習(xí),可以使用不帶參數(shù)的 :help 命令,如下圖:

      Vim的命令非常多,幾乎鍵盤上的每一個(gè)按鍵都有特定的用途,學(xué)習(xí)Vim的時(shí)候一定要做筆記哦。下面,我給大家分享一個(gè)Vim的鍵盤布局圖:

      (該圖片非常大,可以保存下來觀看,或者在新的窗口中打開觀看。)

      VIM的使用技巧,看這里http://vim.wikia.com/wiki/Vim_Tips_Wiki

    使用Vim閱讀Linux內(nèi)核源代碼

      實(shí)戰(zhàn)演示如何使用Vim閱讀Linux內(nèi)核源代碼。工欲善其事、必先利其器,所以在開始工作前需要先安裝合適的插件。我前面講到了使用 Vundle可以自動(dòng)管理插件,但是沒有講到Vim中究竟有哪些插件可用。可以到Vim的官網(wǎng)看看哪些插件的下載率比較靠前。地址這里:http://www.vim.org/scripts/script_search_results.php?order_by=downloads

      上圖是排名前15名的插件的截圖。如果只是閱讀源代碼的話,我覺得taglist.vim和The NERD tree這兩個(gè)插件就夠了,The NERD tree是瀏覽目錄樹的利器,taglist.vim是瀏覽代碼的利器,可以非常方便地顯示源代碼中定義的各種類型、變量、函數(shù)等信息,也可以非常方便地在各個(gè)符號(hào)之間跳轉(zhuǎn)。taglist.vim必須配合tags文件使用,Linux的內(nèi)核源代碼是C語言的,可以使用 ctags 命令生成tags文件。如果是想把Vim打造成強(qiáng)勁的IDE,還需要?jiǎng)e的功能,比如自動(dòng)補(bǔ)全、自動(dòng)生成代碼塊、自動(dòng)注釋、自動(dòng)Make、自動(dòng)運(yùn)行/調(diào)試等,以后需要用到相關(guān)功能的時(shí)候我再介紹相應(yīng)的插件。在這里,只是Read Only,我覺得taglist.vim和The-NERD-tree足以。

      首先,使用前文《玩轉(zhuǎn)Linux系統(tǒng)的方法論》中介紹的方法,找到Linux的內(nèi)核源代碼,并安裝:

      然后找出它們都在文件系統(tǒng)的什么地方:

      taglist.vim需要tags文件的支持,而tags文件需要使用tags命令生成,所以需要安裝exuberant-ctags,如下圖:

      再然后,為Vim安裝插件。從下面的圖中可以看出,除了taglist.vim和The-NERD-tree,我還安裝了a.vim,該插件可以方便地實(shí)現(xiàn)在.c文件和.h文件之間跳轉(zhuǎn)。當(dāng)插件名稱中含有空格的時(shí)候,以“-”代替,如The NERD tree插件,在配置文件中需寫成“The-NERD-tree”。配置插件如下圖:

      安裝插件如下圖:

      再然后,進(jìn)入Linux內(nèi)核源代碼包的安裝目錄,解壓Linux內(nèi)核源代碼,并生成tags文件,如下圖:(這兩個(gè)步驟都需要有點(diǎn)耐心,因?yàn)榻鈮汉蜕蓆ags這兩個(gè)操作都很花時(shí)間。)

      閱讀代碼前,需要告訴Vim使用哪一個(gè)tags文件,在這里,就是剛剛使用 ctags 生成的文件,可以通過 :set tags=/usr/src/linux-source-3.13.0/tags 來設(shè)置。為了方便起見,我把該設(shè)置放到了 .vimrc配置文件中,如下圖:

      最后,啟動(dòng)Vim,找到相應(yīng)的代碼進(jìn)行瀏覽。如果編輯的是一個(gè)目錄的話(如下面的 :e . 命令,表示編輯當(dāng)前目錄),會(huì)自動(dòng)跳出The-NERD-tree的界面,在目錄之間導(dǎo)航非常方便,如下圖:

      這里以Linux內(nèi)核中紅黑樹的實(shí)現(xiàn)為例。使用The-NERD-tree定位到 lib 目錄下的 rbtree.c 文件,按Enter鍵即可打開代碼。輸入 :TlistToggle 命令可以打開Taglist窗口,如下圖:

      在源文件中瀏覽時(shí),使用Ctrl+]快捷鍵,可以非常方便地在符號(hào)的使用和定義之間跳轉(zhuǎn)。上面的截圖是將控制臺(tái)全屏后的效果,是不是很拉風(fēng)?

      再看看在GVim中閱讀內(nèi)核代碼的效果:

      上圖是將GVim窗口最大化后的效果,Solarized的深色主題和Ubuntu自己的紫色主題之間似乎不是很和諧,所以我在系統(tǒng)設(shè)置中將Ubuntu左側(cè)的launcher隱藏了。Ubuntu不僅可以隱藏左側(cè)的launcher,而且Gvim的菜單和系統(tǒng)的狀態(tài)欄合并到了一起,增加了工作區(qū)域,閱讀代碼那是非常舒服的。

      關(guān)于The NERD tree和taglist.vim這兩個(gè)插件,如果想知道關(guān)于它們的更高級(jí)的用法的話,可以使用 :help NERD_tree.txt  :help taglist.txt 命令查看它們自己的幫助文檔,如下兩圖:


      以上截圖全是圖形界面下的效果。如果在全字符界面下會(huì)是什么樣子的呢?

      在CentOS 5.10的全字符界面下截圖。如果是默認(rèn)的80×25的字符界面,工作區(qū)域就太小了,經(jīng)常不能完整顯示一整行代碼。所以我開啟了Framebuffer, 在1024×768的分辨率下工作。下圖的配色方案為desert,background=dark的效果:

      還是很漂亮的,不是嗎?這也是我曾經(jīng)最喜歡的工作環(huán)境。可是現(xiàn)在已經(jīng)很難再找到1024×768的4:3的顯示器了。對(duì)于現(xiàn)在的高清寬屏顯示器,點(diǎn)距太小,屏幕太大,眼睛就會(huì)很吃力。

      下圖是使用solarized配色方案,background=dark時(shí)的效果:

      對(duì)比度比desert要更強(qiáng)烈一些,也還過得去。

      如果在solarized配色方案中設(shè)置background=light,則根本沒法看:

      由此可見,solarized是一個(gè)專為GUI設(shè)計(jì)的配色方案。同一個(gè)配色方案,在圖形界面下和在字符界面下,其效果是不同的。

      除了經(jīng)典的desert,還有一個(gè)經(jīng)典的配色方案,那就是evening,效果見下圖:


    posted @ 2015-03-24 14:57 MEYE 閱讀(797) | 評(píng)論 (2)編輯 收藏

    小技術(shù)團(tuán)隊(duì)管理工具大比拼

    http://www.csdn.net/article/2015-03-23/2824289
    運(yùn)營(yíng)和管理團(tuán)隊(duì)時(shí),怎樣實(shí)現(xiàn)合理跟蹤工作內(nèi)容、實(shí)現(xiàn)良好協(xié)作流程至關(guān)重要。對(duì)于小團(tuán)隊(duì)來說,該如何選擇適合自己的團(tuán)隊(duì)管理協(xié)助工具呢?本文將圍繞團(tuán)隊(duì)管理工具展開,聊聊你所用過的管理工具。

    加入CTO俱樂部,與14000名+實(shí)名制、中高級(jí)技術(shù)管理者做朋友。 【官網(wǎng)申請(qǐng)】【上傳名片快捷加入】

    CTO俱樂部 會(huì)員權(quán)益:技術(shù)交流、餐敘、個(gè)人主頁(yè)、CTO周刊、折扣優(yōu)惠、大會(huì)門票、人才招聘、每月贈(zèng)書等 


    運(yùn)營(yíng)和管理團(tuán)隊(duì)時(shí),怎樣實(shí)現(xiàn)合理跟蹤工作內(nèi)容、實(shí)現(xiàn)良好協(xié)作流程至關(guān)重要。對(duì)于小團(tuán)隊(duì)來說,該如何選擇適合自己的團(tuán)隊(duì)管理協(xié)助工具?Redmine、Trello、JIRA等,類似的團(tuán)隊(duì)管理工具不少,都可實(shí)現(xiàn)團(tuán)隊(duì)事務(wù) 跟蹤、高效協(xié)作并快速處理任務(wù)開展討論等基本功能。本期討論圍繞團(tuán)隊(duì)管理工具展開,聊聊你所用過的管理工具。

    工欲善其事,必先利其器

    幸或不幸,從中華文化傳統(tǒng)看來,軟件開發(fā)都落在“工”這個(gè)領(lǐng)域;而從近代學(xué)科分類來看, 軟件開發(fā)也屬于“工程”這個(gè)領(lǐng)域(所謂的軟件工程學(xué)科)。無論傳統(tǒng)文化的經(jīng)驗(yàn)說法“工 欲善其事,必先利其器”,還是從現(xiàn)代軟件工程學(xué)的理論,都強(qiáng)調(diào)工具在軟件開發(fā)中的重要 作用。同時(shí),軟件項(xiàng)目涉及的技術(shù)越來越廣泛,需要多個(gè)開發(fā)人員同時(shí)參與。如同建筑學(xué)一 樣,軟件產(chǎn)品將美學(xué)、人文等要求提到了和功能性要求同等重要的地位,讓軟件開發(fā)不再只 是程序員的事情,而需多個(gè)工種協(xié)作來完成。

    因此,對(duì)于一個(gè)軟件團(tuán)隊(duì),當(dāng)從一個(gè)人參與變為多人協(xié)作,由一個(gè)工種變?yōu)槎喾脚浜希瑘F(tuán)隊(duì) 管理協(xié)作的“器”就變得可能比開發(fā)工具的“器”更重要了。基于此,我們軟件部門在工作 時(shí),都在不斷嘗試不同的工具。分享一下其中的部分工具使用經(jīng)驗(yàn),供大家參考。

    需求和文檔 管理類

    • Trello

    Trello是一個(gè)輕量級(jí)的團(tuán)隊(duì)協(xié)作工作,形式靈活,操作比較簡(jiǎn)便。其使用類似于在一個(gè)白板(Board)上把團(tuán)隊(duì)所要做的事情都列為ToDo、Doing、Done等列表形式來進(jìn)行典型的PDCA式 管理,并可對(duì)某一任務(wù)多人進(jìn)行跟帖式討論。當(dāng)然這些列表都可以自定義,所以也可以用 Trello來做任何類似于便簽式的管理。我們部分隊(duì)員就用它來做備忘錄,利用其做權(quán)限控制, 在團(tuán)隊(duì)間分享比如服務(wù)器IP、登錄賬號(hào)信息等。

    項(xiàng)目和時(shí)間管理類

    • Redmine、Microsoft Project

    這兩個(gè)是使用較多的項(xiàng)目管理工具。Microsoft Project更多地用于項(xiàng)目經(jīng)理進(jìn)行任務(wù)拆分 (WBS),并在計(jì)算資源(包括人力)的分配和計(jì)算上功能更全,提供項(xiàng)目管理的視角更全; Redmine則適合在開發(fā)工作開始后整個(gè)團(tuán)隊(duì)自行進(jìn)行任務(wù)進(jìn)度管理和時(shí)間跟蹤。

    • Teamcola

    當(dāng)開發(fā)人員面臨同時(shí)處在多個(gè)項(xiàng)目或項(xiàng)目管理人員有很多雜事時(shí),時(shí)間往往會(huì)被碎片化。對(duì) 碎片化的時(shí)間,如果沒有一個(gè)良好的時(shí)間跟蹤管理工具,往往容易導(dǎo)致效率低下。同時(shí),如 果開發(fā)人員遇到一個(gè)困難點(diǎn)花費(fèi)過多精力而負(fù)責(zé)人不能及時(shí)掌握并給予幫助,也會(huì)影響項(xiàng)目 進(jìn)度。Teamcola這個(gè)由國(guó)內(nèi)團(tuán)隊(duì)開發(fā)的時(shí)間管理工具,能較好地解決時(shí)間問題,而其管理粒 度為半小時(shí),也不會(huì)過多增加管理成本。我們還定義了一個(gè)“雜項(xiàng)”事件(在半小時(shí)后做了 很多事情)。如果你有很多雜項(xiàng),那么要不就是你是老板,要不就是你的時(shí)間管理有問題。

    質(zhì)量管理和事務(wù)/Bug管理類

    • Redmine

    Redmine因其問題的字段齊全且可自定義字段,并可利用插件從csv文件中導(dǎo)入導(dǎo)出,同時(shí) 其Web訪問特性也很適合開發(fā)給用戶提交問題,所以是使用較多的Bug追蹤系統(tǒng)。當(dāng)然其完 全免費(fèi),也是一個(gè)重要考慮因素。

    • Git/GitLab

    Git作為一個(gè)分布式代碼管理工具,當(dāng)我們經(jīng)常在家寫代碼,而公司的代碼服務(wù)器被配置為局 域網(wǎng)訪問,Git以其支持離線代碼管理的功能逐漸替代SVN成為團(tuán)隊(duì)的代碼管理工具。當(dāng)然眾 多開源項(xiàng)目從SoureForge搬家到GitHub,也是開發(fā)團(tuán)隊(duì)必須掌握Git這個(gè)代碼控制的一個(gè)重要 理由。另外,GitLab本身自帶簡(jiǎn)單的問題跟蹤以及Wiki系統(tǒng),在小型項(xiàng)目可替代Redmine。

    工為器所累

    大家也看出來了,工具太多了!在我們的團(tuán)隊(duì)使用過程中,也發(fā)現(xiàn)了這個(gè)問題,有隊(duì)員表示 “每天處理事情的系統(tǒng)越來越多了”、“找個(gè)合體的吧”。工具太多,使用不當(dāng),工具的使用成 本可能大于其提升的效率。最大的問題是工具間太獨(dú)立,不具有單點(diǎn)登錄功能。想想開始工 作前,要在N個(gè)工具中輸入可能不同的賬戶名和密碼,就是一件頭疼的事。因此,目前這些工 具需要接入第三方且統(tǒng)一的用戶系統(tǒng)的功能。

    器為工所用

    不想為“器”所累,在實(shí)際工作中根據(jù)不同的 項(xiàng)目特性,推薦采用不同的工具和工作方式,取“器”之神而不在其形。 比如對(duì)小型移動(dòng)App的開發(fā),功能需求單一,開發(fā)周期不長(zhǎng),維護(hù)周期也較短,采用Excel來 做WBS拆分和管理以及Bug跟蹤已經(jīng)足夠。另外,在需求溝通和Bug跟蹤時(shí),往往需要用戶參與,而讓用戶去學(xué)習(xí)諸如Trello、Redmine顯然行不通。這時(shí),我們會(huì)直接選用QQ來進(jìn)行需 求溝通。通常,我們會(huì)建立一個(gè)群(對(duì)長(zhǎng)期的項(xiàng)目)或者一個(gè)討論組(對(duì)于短期項(xiàng)目),把相關(guān) 的人員都加入其中。QQ的即時(shí)信息、語音、截屏、文件傳送甚至遠(yuǎn)程桌面等功能,讓其在我 們的開發(fā)過程中成為一個(gè)重要的協(xié)調(diào)工具。

    作者簡(jiǎn)介:熊兵 摩博科技CTO

    本文來自:《程序員》電子刊2014年第4期


    posted @ 2015-03-24 14:52 MEYE 閱讀(401) | 評(píng)論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲另类小说图片| 久久国产精品2020免费m3u8| 国产精品黄页在线播放免费| 香蕉大伊亚洲人在线观看| 日韩免费a级毛片无码a∨ | 亚洲人成人77777网站不卡| 亚欧免费视频一区二区三区| 久久综合亚洲色HEZYO社区| 在线a免费观看最新网站| 亚洲熟妇无码久久精品| 又粗又大又黑又长的免费视频| 亚洲国产美女福利直播秀一区二区| 亚欧免费视频一区二区三区| 亚洲依依成人精品| 成人性生交大片免费看无遮挡| 456亚洲人成影院在线观| 在线免费观看a级片| 性色av极品无码专区亚洲| 免费国内精品久久久久影院| 特级毛片爽www免费版| 亚洲日韩欧洲乱码AV夜夜摸| 久久国产精品国产自线拍免费| 亚洲福利在线视频| 18女人水真多免费高清毛片 | 国产精品极品美女自在线观看免费 | 免费成人在线观看| 一区二区在线免费视频| 亚洲精品无码av人在线观看| 99re在线免费视频| 亚洲欧洲日韩国产一区二区三区| 日韩视频免费一区二区三区| 免费大片av手机看片高清| 亚洲中文字幕无码一区二区三区| 免费国产污网站在线观看15| 亚洲一区二区三区免费视频| 免费无遮挡无码视频网站| 农村寡妇一级毛片免费看视频| 国产亚洲精品a在线无码| 最近免费中文字幕mv在线电影| 亚洲小说图区综合在线| 免费在线观看毛片|